问题标签 [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.
kubernetes - Kubernetes Ingress Object 和 Ingress Controller 的内部工作和连接
我试图理解 和 之间的Kubernetes
Ingress Resource
关系Ingress Controller
。我读到该Ingress
资源主要是规则,而控制器 Pod 实际为 Ingress 规则路由流量。
我很困惑,就像其他对象一样,为什么Ingress
资源不能通过指定图像自行启动 POD。
其次,如何Ingress Object
连接到实际Ingress Controller Pods
以完成其工作(或反过来说)。我没有看到在Ingress Object
.
第三,如果Ingress Resource
有自己的 IP 地址(内部或外部),那么为什么Ingress Controller
需要外部 IP 地址。
谢谢
PS:我对Kubernetes不是很了解,如果问题听起来很傻,请原谅。
kubernetes - 如何在 Kubernetes 入口中指定自定义 Istio 入口网关
我使用运营商部署了 Istio ,并添加了一个只能从特定源范围(我们的 VPN)访问的自定义入口网关。
现在我想配置 Istio 以使用Kubernetes Ingress 资源在服务网格集群之外公开服务。我使用kubernetes.io/ingress.class
注解告诉 Istio 网关控制器它应该处理这个Ingress
。
- Kubernetes 版本(EKS):1.19
- Istio 版本:1.10.3
现在使用哪个入口网关控制器(istio-ingressgateway
或istio-vpn-ingressgateway
)?有没有办法指定应该使用哪一个?
P.S. I know that I could create a VirtualService
and specify the correct gateway but we want to write a manifest that also works without Istio by specifying the correct ingress controller with an annotation.
nginx - 为什么必须为某些 Kubernetes 入口控制器提供 POD_NAME 和 POD_NAMESPACE?
对于那里的至少一些入口控制器,必须提供 2 个变量:POD_NAME
和POD_NAMESPACE
. nginx 入口控制器确保将这 2 个变量注入容器中,如此处所示( Azure 部署模板的链接),HAProxy 正在使用它(如此处所示),可能其他人也在这样做。
我明白为什么需要这两个值。对于 nginx 入口控制器,POD_NAMESPACE
变量的值用于潜在地通过--watch-namespace
参数将控制器将要注意的入口资源对象限制为它部署的命名空间(Helm 图表显示了这一点)。至于POD_NAME
,没有这个会导致入口内部代码(这里的函数)出现一些错误,这反过来可能会阻止入口在没有设置变量的情况下运行。
入口控制器是否不能根据它必须运行的权限自动获取此信息(毕竟它可以在 Kubernetes 级别监视更改,所以人们会假设它“强大”到足以看到自己的 pod 名称和命名空间它部署在哪里)?换句话说,入口控制器不能做某种“whoami”并获取自己的数据吗?或者这可能是 Kubernetes 中使用的一种常见模式?
amazon-web-services - Nginx 400,使用 nginx-ingress 控制器将普通的 http 响应发送到 HTTPS 端口
我已经使用来自工件集线器 ( https://artifacthub.io/packages/helm/ingress-nginx/ingress-nginx )的 helm 图表在 aws eks 集群中部署了一个 nginx-ingress 控制器。
我已经编辑了注释以在 aws 中使用 NLB,在部署后,如果 ingress-nginx 和入口控制器后面的应用程序,NLB 后面的应用程序工作正常,但服务于不安全模式(无 ssl),然后我更改了监听器从 tcp 到 tls 的 nlb 端口并附加了 ssl 证书。
现在,在此更改之后,我的应用程序能够在 ssl 上运行,但收到错误消息“Nginx 400, A plain http response was sent to HTTPS port”。
有人可以帮助我了解此问题以及解决此问题的潜在选择。
值和配置几乎是我们从这里获取的默认值“https://artifacthub.io/packages/helm/ingress-nginx/ingress-nginx”
sql-server - 使用 TCP 的 Kubernetes 主机和服务入口映射
在使用 Kubernetes 几个月后,我发现了一种很好的方法,可以使用单个现有域名并通过子域公开 cluster-ip,但也可以使用入口控制器通过不同的子子域公开大多数微服务。
我的入口示例代码:
使用此配置:
- microname1.subdomain.domain.com 指向 Apache Kylin
- microname2.subdomain.domain.com 指向 Apache Superset
这样,所有微服务都可以使用相同的 Cluster-Load-Balancer(IP) 公开,但使用不同的子域。
我尝试对 SQL Server 做同样的事情,但这不起作用,不知道为什么,但我觉得原因是 SQL Server 使用 TCP 而不是 HTTP 进行通信。
关于如何为 TCP 服务做同样的事情的任何想法?
nginx - 如何为 minikube 启用旧版本的 NGINX 入口
我很确定我遇到了与 NGINX 入口控制器的新 1.0.0 beta 版本相关的问题。我想降级到 0.49.0(或 0. 系列中的东西)。
如何使用 minikube 降级 NGINX 入口控制器版本?
vue.js - 子路径不适用于带有 aws 入口控制器入口的 vueapp
我为 vuejs 应用程序定义了这个入口,当我访问根 url 时它工作正常。但是当我尝试直接从浏览器访问子路径时,我得到 404。
https://abc.xys.com -> 作品
https://abc.xys.com/clients - 当我直接从浏览器访问它时不起作用
注意:这是一个单页应用程序,当我在应用程序内部单击导航时,它可以在不刷新页面的情况下工作。但是当我单击刷新时,我得到 404。
angular - 入口控制器注释以支持多个 cors 来源
我有一个 Kubernetes 集群,其中部署了多个服务,现在我的 Angular 应用程序正在尝试通过连接到入口的网络负载均衡器 url 连接到微服务,现在在 CORS 注释中我想指定一组可以访问的域服务
我有一个管理门户角度应用程序和用户门户角度应用程序,它们都有不同的域,都想连接到 kubernetes 集群中的服务。
假设我们如何www.angular1.com and www.angular2.com
在 ingress cors 注释中指定
现在我的配置允许所有来源,
现在我想指定类似的东西
什么是合适的标准。
kubernetes - 带有 nginx 入口的 kubernetes 上的 Nifi 出现 CORS 错误
我正在尝试在 k8s 上部署 Nifi 作为部署并使用入口向公众公开 URL。
在入口处卸载 TLS 证书并尝试在 Nginx 级别终止。
上传模板时出现 CORS 错误。
错误:-
部署.yml:
入口.yml:
也试过NIFI_WEB_PROXY_HOST=nifi.example.com:443
了,但没有用。
入口日志错误:-
Nifi日志错误:-