问题标签 [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.
nginx - 在 AKS 中的现有 Nginx 入口控制器上设置 TLS
我在 AKS 中部署了带有 Helm 的 Nginx Ingress Controller,但未启用 TLS。现在我想更新控制器以将 TLS 证书挂载为 Kubernetes 机密,如下所示 -
有没有办法更新入口控制器?
nginx - Nginx Ingress Controller 如何将标头传递给外部身份验证请求
我正在使用 Nginx 入口控制器并且我使用外部身份验证在受保护的后端服务的 nginx 注释中,我指定了 url 或外部服务(oathkeeper)
我的问题是我需要将请求的标头传递给我指定的上述 url
我怎样才能做到这一点 ?
我正在尝试这样的片段,但它没有在标题中传递主机
kubernetes - Kubernetes 上的 Mainflux 与 ingress-nginx
我们已按照本教程启动并运行 mainflux。安装 kubectl 后,我们添加了 helm repos,如下所示
我们已经安装了 ingress-nginx 使用
终于安装了 mainflux
之后,我们在 ingress-nginx-contoller 中添加了以下内容
一切似乎都已启动并正在运行,但是当我们访问 example.com 时,我们看到的是 404 消息而不是 UI,它应该作为 mf 命名空间中的 mainflux-nginx-ingress 运行,指向如下所示
创建的入口文件是这样的
如果您需要更多信息,请告诉我。
来自 ingress-nginx-controller 的日志
kubernetes - 动态更新 whitelist-source-range 而不会造成停机?
我有一个在 Kubernetes 上运行的应用程序,它使用 nginx 作为在 AWS 中创建负载均衡器的入口控制器。我注意到默认情况下,应用程序对世界开放,并0.0.0.0/32
添加到附加到负载均衡器的 AWS 安全组的入站规则中。我只想允许某些 IP 访问该应用程序。这使我nginx.ingress.kubernetes.io/whitelist-source-range
在入口控制器中使用注释。
但我不知道必须事先允许访问应用程序的实体的 IP。创建某些容器的上游进程(Jenkins 作业),这些容器尝试与在 Kube 上运行的应用程序通信。
如何动态修改入口控制器注释以添加和删除 IP 而不会导致任何停机?不,我没有可以添加的通用 IP 范围。我有几个不同的 VPC,它们有自己的 CIDR 块。
kubernetes - Adding Mutual TLS to Emissary-Ingress
I keep getting this error when I try to access a service running in my microk8s cluster with this curl command:
curl -lkv --cert cert.pem --key key.pem https://$LB_ENDPOINT/backend/
I am running this on Microk8s on Ubuntu 20.04. Helm3, Metallb, and core DNS have all been enabled as addons.
The error:
#xA;Below are my configurations:
- Host:
- Listener:
- Mapping:
- TLS Context:
- Service and deployment:
Your contribution would be much appreciated. Thanks.
amazon-web-services - AWS - x-real-ip 是 nginx-ingress-controller 的 ip
我目前有以下问题。我有一个后端位于 nginx-ingress 控制器后面,该控制器用作 aws 中的负载均衡器。通常我应该通过标头 x-forwarded-for 或 x-real-ip 获取用户的真实 IP。然而,在我的例子中,这个 ip 总是指向入口控制器的 ip。我使用 terraform 来设置我的架构。
这是我目前的配置
有人知道如何修复此配置中的标头吗?
kubernetes - 使用 Helm 部署 Ingress-controler 失败
我尝试使用 Helm 在我的 Kubernetes 集群上安装 Ingress-controler。安装失败,登录相应的 Pod:
{"err":"Get "https://10.96.0.1:443/api/v1/namespaces/ingress-nginx/secrets/ingress-nginx-admission": 拨打 tcp 10.96.0.1:443: i/o timeout" ,"level":"fatal","msg":"error getting secret","source":"k8s/k8s.go:232","time":"2022-02-22T10:47:49Z"}
Pod 控制台显示以下错误:
OCI 运行时执行失败:执行失败:container_linux.go:380:启动容器进程导致:执行:“sh”:$PATH 中找不到可执行文件:unk
因此,ingress-Pod 在几秒钟后停止,并出现上述错误。
这是我的节点的描述:
和服务:
我该如何调试?缺少什么样的秘密?
更新: 我在部署中使用了这个描述:
https://computingforgeeks.com/deploy-nginx-ingress-controller-on-kubernetes-using-helm-chart/ 从选项 2 开始:使用 Helm 安装 Nginx Ingress Controller Kubernetes
所以最后的命令是:
接着;
与 values.yaml 中的相应值
load-balancing - 如何使 Kubernetes 负载均衡器自动将主机名分配给 aws 上的服务
我正在尝试使用 metallb 负载均衡器和 Nginx 入口在我家制作 kubernetes 环境,目前我正在使用 cloudflare 作为 DNS 并将通配符域指向我家的 IP
我已经看到,在某些云提供商中,负载均衡器会自动将主机名/域名分配给服务,这将显示在 status.loadbalancer.ingress[0].hostname 具有主机名的负载均衡器状态示例
我的观点是,是否有可能做到这一点以及如何做到这一点。
这是我目前尝试过的 NGINX 入口控制器配置,service.beta.kubernetes.io/do-loadbalancer-name: my-domain-name
但似乎还没有希望。
PS.我确实有到示例 IP 的外部 IP 路由
kubernetes - 使用 Ingress-nginx 进行身份验证和授权
我们将服务部署在 K8s 中,使用 istio 作为服务网格,并使用 Ingress-nginx 公开。
现在,我们想使用 Ingress-nginx 入口控制器添加 AuthN 和 AuthZ。
- 我们想做 Oauth2-OpenID。使用 oauth2-proxy 模块可以做到这一点。返回的 jwt 令牌具有用户的 UUID,但没有他的组。
- 我们有 k8s 服务,它具有用户 UUID 和组(后端 dynamodb)的映射。所以我们需要检索用户组。
- 我们有基于 OPA(开放策略代理)的规则,用于针对用户组的服务 API 的 AuthZ。因此必须针对用户组验证服务 API。
- 一旦 AuthN 和 AuthZ 成功后,带有用户 UUID 的 http 标头,userGroup 应该传递给上游服务。
- 我们还需要使用用户 UUID、userGroup 设置 cookie 以供客户端应用程序使用。
以上 5 个步骤都可以使用“Ingress-nginx”一点一点地执行。但是,不能一起作为代理链。有没有办法在“Ingress-nginx”入口控制器中执行这些操作?我正在寻找开源入口控制器。
谢谢。
问候, 普拉卡什
kubernetes - nginx-ingress 停止工作,尽管 Ready 服务 + pod(“没有任何活动的端点。”)
我已将我的 microk8s 设置转移到新服务器,发现我的试用设置曾经工作的入口设置停止工作。
我正在运行这个最小的 whoami 应用程序:
Pod 已启动并运行,服务已正确公开它,但入口无法正常工作:
nginx-ingress-controller 日志显示以下条目:
但是同样,通过 clusterIP 访问是有效的,所以 Pod 和 Service 都在做他们的工作。