问题标签 [kubernetes-ingress]

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 投票
1 回答
8591 浏览

nginx - NGINX Ingress Controller 的默认后端

我有一个正在运行测试的 kubernetes 集群,我已经使用这个法师设置了一个 NGINX Ingress 控制器:quay.io/kubernetes-ingress-controller/nginx-ingress-controller: 0.11.0

据我目前了解入口控制器,设置似乎按预期工作,除了入口控制器的默认后端路径是默认的/。我目前的问题是我有一个默认路径也是/. 因此,我无法访问该服务,因此我总是得到默认的后端 404 响应。我尝试将 Harbor 服务的入口路径更改为其他内容,/但在调用更改后的路径时,Harbor 返回一个 200 页,但上面只有一个Loading...字符串(我不知道 Harbor 中是否有硬编码的东西阻止它喜欢任何以外的路径/?)。

那么我的问题是,是否可以将默认后端的默认路径更改为除/. 或者完全删除默认后端?(我在网上读到无法删除默认后端)。那我有什么选择?

--- 编辑:使用的配置 ---

入口控制器 YAML:

入口 YAML:

服务 YAML:

0 投票
1 回答
407 浏览

kubernetes - 在 Kubernetes 中实现基于特征标志的路由的最佳方法

我想建立一个基础设施,让我的团队中的开发人员能够在生产环境中轻松进行实验。

例如,假设我有一个 HTML 页面,其中列出了在线零售商店的购买情况。生产版本是使用 React 实现的,但我们想测试一些替代实现,例如一个用 Vue.js 编写的,另一个不是基于 JS 而是使用后端渲染。

在这种情况下,我想为所有致力于 Vue.js 实现的开发人员翻转一个功能标志,以查看 Vue.js 页面,并让后端渲染团队查看他们的实现。

在 Kubernetes 中,每个实现都是不同的 pod/复制集/服务。

在此处输入图像描述

在 Kubernetes 中实现上述路由方案的最佳模式是什么?基于Istio的基于智能 HTTP 标头的路由是否适合此任务?

0 投票
0 回答
341 浏览

encryption - 加密 kubernetes 集群中 traefik 和 ingress 之间的流量

我正在寻找解决方案如何加密 Traefik 前端与服务多个应用程序的 kubernetes Ingress 资源之间的流量。Internet 上的示例,例如 [1],展示了如何在 Traefik 中启用 TLS 支持,甚至使用 Let's Encrypt 为 Traefik 和 Ingress 控制器 [2]。问题是它们都将 HTTPs 请求从前端传递到 HTTP 后端。我正在寻找的是前端和后端之间的端到端加密。

我在 Traefik 中启用了 TLS,如 [1] 所示,我在 Ingress 中启用了 TLS,如 [3] 所示,但所有流量仍然从 HTTPs 流向 HTTP。而且,我不知道谁负责这个决定(应该在哪里配置)Traefik 或 Ingress。

有什么建议么?

  1. https://medium.com/@patrickeasters/using-traefik-with-tls-on-kubernetes-cb67fb43a948
  2. https://blog.osones.com/en/kubernetes-ingress-controller-with-traefik-and-lets-encrypt.html
  3. https://kubernetes.io/docs/concepts/services-networking/ingress/
0 投票
1 回答
1338 浏览

google-cloud-platform - 无法将 Google Cloud CDN 缓存与入口控制器、传输编码标头一起使用

我尝试将 Google Cloud CDN 配置到我的容器引擎项目。

按照文档它有一个 Content-Length 标头或一个 Transfer-Encoding 标头以便被缓存。

我的后端使用 gzip 压缩,所以我有 Transfer-Encoding: chunked

问题是入口负载均衡器似乎删除了 Transfer-encoding 标头,所以我不能有“缓存命中”

我使用“kubectl port-forward”将直接连接到实例后端,并且我有 Transfer-encoding 标头。

但是当我连接到外部 IP 时,标头已经消失。

这是我的入口配置

这是我的部署配置

相反,对于某些未经过 GZIP 压缩的资源,会给出 Content-length 标头,并且我有一个成功的“缓存命中”

kubernetes 版本是 1.7.12-gke.1

这是一个测试它的 URL:https ://preprod-writecontrol.ovh

0 投票
1 回答
348 浏览

kubernetes - 使用 Istio 的 Kubernetes VIP

我是 Kubernetes 新手,正在尝试从基于 VM 的服务迁移到 Kubernetes。

目前的做法,

在每个 VM 上拥有多个 VM 和运行服务。服务在多个虚拟机上运行,​​并且前面有 VIP。客户将访问 VIP,VIP 将循环使用可用服务。

我阅读了 ISTIO 和 ingress 并希望,同样的事情可以使用 ISTIO 来完成。我已经设置了一个本地 minikube 集群并探索了所有用例。我能够以缩放因子 2 部署我的服务。现在,我想使用 VIP 访问我的服务。我不知道如何创建 VIP 并暴露给 Kubernetes 集群中的其他服务以及在 Kubernetes 集群之外运行的服务?我可以使用相同的现有 VIP 吗?或者,我是否需要做任何额外的设置,在 Kubenetes 中使用任何服务名称创建 VIP?

谢谢

0 投票
2 回答
7674 浏览

kubernetes - 如何使用 ingess 控制器设置 kubernetes 仪表板

我对kubernetes. 我在网上找到了一些很好的教程来kubernetes启动和运行我的集群。现在我想在kubernetes我的集群中添加一个仪表板,这样就可以很容易和很好地拥有一个页面,我可以在其中查看我的 pod 和节点的反应(即使我更像是一个 CLI 人,一些 GUI 也不错)。我已经下载了仪表板 pod,它已启动并正在运行。因为 kubernetes 集群在 Raspberry Pi 集群上运行,所以我设置了一个 NodePort 以便从集群外部访问它。但是我遇到了一些问题,我在网上也找不到任何问题。

  1. 在我的 Linux 主机中,我可以访问 kubernetes 仪表板,但不知何故,在我的 Linux 机器中,我的浏览器不会添加证书异常。
  2. 网上有人深信NodePort不够安全。所以我对其他可能性进行了一些研究。我对连接仪表板的入口控制器非常感兴趣。但我没有找到任何好的和完整的文档如何设置入口控制器(更重要的是发生了什么,因为网上有很多 yaml 文件,他们说只运行这个,但我不知道他在做什么)。

有人可以指导我找到正确的文档/教程/或为我的 Kube 仪表板提供任何帮助吗?

0 投票
1 回答
126 浏览

amazon-web-services - Kubernetes Ingree IP 不可达

在 AWS 上具有 1 个主节点和 3 个节点的 K8s 集群中

  1. 入口服务能够提取 IP(并且 IP 是节点公共 IP 之一)。但不能从外面到达。
  2. 两个入口服务具有相同的 IP。

任何人都可以澄清一下,相同的IP如何区分不同的服务。

0 投票
0 回答
3210 浏览

kubernetes-ingress - Kubernetes Ingress 控制器 - Traefik vs Tectonic vs Nginx

我正在探索入口并遇到以下入口控制器:

  • 特拉菲克
  • 构造
  • Nginx

我用谷歌搜索了很多,但似乎没有那么大的区别。您能否帮助我了解这 3 个和在生产中使用的最佳选择之间的区别?

注意:这适用于我使用 Linux VM 的私有云。

谢谢。

0 投票
2 回答
2567 浏览

kubernetes - Kubernetes - 入口路由的工作原理

我看到了一些示例,其中 Kubernetes 集群安装了入口控制器,然后入口类添加了注释和主机,如下所示。

我不确定安装了哪个服务以及使用 DNS “k8s.privatecloud.com”配置了哪个 IP以便路由请求?DNS 路由“k8s.privatecloud.com”如何将请求路由到 Kubernetes 集群?Kubernetes 桥接的入口如何工作?

此外,可能有许多服务配置了 hosts 规则,例如,

当我们点击服务 testsvc.k8s.privatecloud.com 或 testsvc1.k8s.privatecloud.com 时,子域路由在这里是如何工作的...

谢谢

0 投票
3 回答
22499 浏览

kubernetes - Kubernetes:通过入口将非 HTTP 请求路由到容器

  1. 我在 Mac OS 上使用与 docker 捆绑的本地 kubernetes。
  2. 我已经安装了nginx-ingress-controller
  3. 我设法通过入口向我的 kubernetes 托管容器(例如,从我的本地浏览器)发送外部 http请求。所有请求都通过 nginx 端口 80 或 443 发送。

问题是,我只能通过我的 ngnix 控制器路由 http 或 https 请求。如何通过入口向我的容器发送非 HTTP 请求(例如数据库或 corba)?