问题标签 [ingress-controller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
118 浏览

kubernetes - 如何在本地开发环境中使用 Ingress 公开 k8s 集群?

我已经使用 minikube 创建了一个集群。向其添加了部署和集群 IP 服务。现在我想从集群外部访问这个资源,使用 curl 或浏览器和使用 nginx 入口控制器的 nginx 路由。我启用了入口并应用了以下 ingrwess-srv.yaml:

这是我的 auth-depl.yaml:

然后我运行:kubectl get ingress这就是结果:

然后我使用 sudo 添加 /etc/hosts:

然后运行:curl my-domain.dev没有响应。

如何访问本地环境中的开发集群,以便在其上进行开发?

还尝试使用 skaffold,它实际上反映了 src 目录中的更改,但我找不到通过浏览器访问它们的方法。

0 投票
2 回答
269 浏览

kubernetes - k8s上的Nginx Ingress控制器-存储中的临时文件位置?

NGINX 入口控制器在哪里存储临时文件?

这是我收到的消息,我很确定它将文件存储在附加到我的一个 pod 的卷上:

但是当我进入该位置/var/cache/nginx/client_temp时,什么都没有。

我也检查了入口控制器 pod,那里也有另一个。

我想知道如何解决我们遇到的问题。我正在尝试将文件直接上传到 pod 内存,但它首先将其上传到临时位置。

谢谢您的帮助。

达尼洛

0 投票
0 回答
98 浏览

nginx - 使用 k8s 入口控制器副本中的票证恢复 SSL 会话不起作用

我们有带有入口控制器的 k8s-cluster(nginx 版本:nginx/1.17.8,入口:rke2-ingress-nginx:1.36.301) - 4 个副本(每个工作人员一个)

为了提高性能并能够重用多个副本之间的会话,我尝试激活 ssl_session_cache 和票证。

ingress-configmap 具有以下数据块:

当我将副本数减少到 1 时,我得到了正确的握手,并且我可以在没有握手的情况下在进一步的请求中重用票证。

当我将副本数增加到> 1,并在第二个(第三个,第四个......)请求(循环)中发送会话票证时,我每次都会从服务器获得一张新票证,包括。充分握手。所以会话恢复不起作用。

Configmap 自动更新正在工作,每个副本具有相同的 nginx.conf 并且所有副本具有相同的 /etc/nginx/tickets.key

Ingress-controller-pod 日志在更新 configmap 时没有问题:

I0929 13:56:50.165135 8 controller.go:137] 检测到配置更改,需要重新加载后端。

I0929 13:56:50.267572 8 controller.go:153] 后端成功重新加载。

更新 configmap 后重新启动所有 ingress-pods 也无济于事。

nginx.conf 中 configmap 的结果

谢谢!

0 投票
1 回答
173 浏览

azure - 如何避免通过 terraform 脚本更新应用程序网关的后端池

我正在尝试通过 terraform 使用应用程序网关入口控制器部署 AKS。为此,我创建了应用程序网关、AKS(也启用了入口控制器设置),然后使用 kind=ingress 部署了 YAML 文件。

  1. 现在,第一次创建应用程序网关时,它正在使用我在 terraform 脚本中提供的名称创建后端池(比如说 terraform-b​​ackend-pool)。所以这里的后端池 = terraform-b​​ackend-pool

  2. 然后,当我部署入口 Yaml 文件时,入口控制器(defaultaddresspool 和 pool-default-xxxx-service)将早期的后端池替换为两个新的后端池。所以这里的后端池 = defaultaddresspool 和 pool-default-xxxx-service

  3. 当第二次执行相同的 terraform 脚本时,我的担忧就开始了。由于后端池与脚本不同,它会删除它们并创建脚本中提到的一个,因此我的服务无法正常工作。所以这里后端池 = terraform-b​​ackend-pool再次。

  4. 我想到的一种解决方法是再次删除入口 YAML 并在 CICD 进程中再次部署它。但这不是实用的方法,所以需要建议我如何避免更新后端池。

与后端池一起,路由规则也以类似的方式更新。

我还想过通过 AKS 入口选项创建应用程序网关,而不是单独创建它,但通过此选项它正在创建 standard_V2 应用程序网关,我计划启用 WAF 应用程序网关。

0 投票
1 回答
45 浏览

nginx - 非云 k8s 集群中具有静态 IP 地址的入口控制器

我有一个 5 节点(vmware 虚拟机)kubernetes 集群(运行 ubuntu)。我在以 LoadBalancer 类型公开的集群中安装了 nginx 控制器。现在我想让 nginx 控制器使用静态 IP 作为外部 IP,该 IP 在其中一个节点上可用(分配给连接到 VM 节点的辅助网络接口的 IP)。这种实现可能吗?

0 投票
1 回答
246 浏览

kubernetes - AWS EKS 组 NLB 作为 ALB,但具有不同的端口

要在 API 网关中定义 VPC 链接,我们必须在 eks(LoadBalancer 服务)中声明 NLB 以访问 VPC 中的 pod。

当我们定义入口资源时,我们可以通过注解将它们组合成一个 ALBalb.ingress.kubernetes.io/group.name

似乎不可能将多个服务作为网络负载均衡器做同样的事情。是否可以 ?或者只是在同一个 NLB 上公开多个微服务(具有不同端点)并将端口作为判别器是一个坏主意?

0 投票
1 回答
87 浏览

ssl - 使用 SSL 的 Pulumi GKE Ingress

我正在尝试使用#Pulumi 进行设置

  • 我的#GKE 服务的#Ingress
  • 使用 HTTPS 负载均衡器
  • 使用 Google 管理的 SSL 证书。由于某种原因,Ingress 创建永远停留在“Creating Ingress”。

我正在使用 GCE 入口控制器。有没有我可以参考的工作示例?如果您需要更多信息,请随时询问,我很乐意提供。下面是我迄今为止尝试过的代码片段(经过无数次试验后到达这个状态)。我错过了什么?

#kubernetes #gcp

0 投票
1 回答
68 浏览

kubernetes - 使用入口控制器进行路由

我有一个带有一组 pod 和两个负载均衡器服务的 kubernetes 集群。当传入请求到来时,我想通过检查查询参数并对查询参数进行一些额外的处理来将请求路由到正确的服务。我知道我们可以根据 param1 的值对其进行路由,但是是否可以对 param 执行其他操作,然后相应地对其进行路由。

我打算使用https://docs.solo.io/gloo-edge/latest/

例如:

/foo?parm1=123

可以获取值 123 并运行脚本(使用该值查询数据库或转换为二进制等)来处理值 123 并获取新值并根据它路由到特定服务。

0 投票
0 回答
156 浏览

kubernetes - 不同命名空间中的 Kubernetes 入口和服务

我正在开发一个 Kubernetes 应用程序。我的集群在 EKS 集群中运行,并且我有两个服务在两个单独的命名空间中运行。

我想要一个应用程序负载均衡器来使用这两个服务,使用 ALB 入口控制器。我无法够到我的豆荚;而如果我在同一个命名空间中创建 ALB 和 Service,一切正常。

这是我的设置:

而服务“jen-test-master-uni1”和“jen-test-master-unit2”被部署到它们的专用命名空间中。

这是一个简化的图表: 在此处输入图像描述

我究竟做错了什么?

0 投票
0 回答
18 浏览

amazon-web-services - 从 aws 管理控制台创建应用程序负载均衡器和通过 aws 提供的入口控制器创建有什么区别

我使用 AWS 入口控制器创建了应用程序负载均衡器。所以我在我的 helm 图表中维护入口文件和其他一些清单文件。参考:https ://docs.aws.amazon.com/eks/latest/userguide/aws-load-balancer-controller.html 。但在这里我面临着这个问题。每当我卸载掌舵图时,alb 都会被删除并且无法访问该应用程序。所以我决定从 AWS 管理控制台创建 alb。如果我以这种方式创建,我会失去任何权限等吗?使用 alb 入口控制器创建和通过 AWS 管理控制台创建之间到底有什么区别?如果我做错了什么,请向我建议