【发布时间】:2020-04-23 00:35:16
【问题描述】:
因此,我正在将裸机集群迁移到 GKE 上,但遇到了入口问题。在我的裸机集群上,我使用了来自nginxinc 的入口控制器,它运行良好。以下是特定部署的 Ingress 文件示例:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace: mynamespace
name: app-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
rules:
- host: myhost
http:
paths:
- path: /dev/appname(/|$)(.*)
backend:
serviceName: app
servicePort: 80
基本上,当用户输入myhost/dev/appname 时,myhost 被解析为 HAProxy 服务器。然后代理将请求路由到运行入口服务的 NodePort。
我尝试在我的 GKE 集群上做同样的事情,唯一的例外是 GKE 集群上的 Ingress 控制器使用 LoadBalancer 根据documentation
公开但是,如果我尝试访问该 URL,则会收到 502 错误。
TL;DR:寻找使用以下 URL 访问部署在 GKE 集群上的各种应用程序(部署)的最佳方式:myhost/dev/firstapp 和 myhost/dev/secondapp 等。
【问题讨论】:
标签: kubernetes google-kubernetes-engine nginx-ingress