Kubernetes 在GKE集群上创建基于路径的入口
因此,我正在将我的裸机集群迁移到GKE的过程中,遇到了一个入口问题。在我的裸机集群上,我使用了工作正常的入口控制器。以下是特定部署的入口文件示例:Kubernetes 在GKE集群上创建基于路径的入口,kubernetes,google-kubernetes-engine,nginx-ingress,Kubernetes,Google Kubernetes Engine,Nginx Ingress,因此,我正在将我的裸机集群迁移到GKE的过程中,遇到了一个入口问题。在我的裸机集群上,我使用了工作正常的入口控制器。以下是特定部署的入口文件示例: apiVersion: extensions/v1beta1 kind: Ingress metadata: namespace: mynamespace name: app-ingress annotations: kubernetes.io/ingress.class: "nginx" nginx.ingress.kuberne
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服务器。然后,代理将请求路由到运行入口服务的节点端口
我尝试在我的GKE集群上做同样的事情,唯一的例外是GKE集群上的入口控制器按照
但是,如果尝试访问URL,则会出现502
错误
TL;DR:正在寻找使用URL访问部署在GKE群集上的各种应用程序(部署)的最佳方式,如myhost/dev/firstapp和myhost/dev/secondapp等。您可以使用Kong Ingress作为GKE上基于路径的入口的入口控制器。您可以从GCP Marketplace安装Kong Ingress。它易于集成,还支持各种用于身份验证、监视等的插件 您将从中获得详细信息和安装说明,我将按照此在GKE上设置Nginx。入口如下所示:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-resource
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
rules:
- http:
paths:
- path: /hello
backend:
serviceName: hello-app
servicePort: 8080
您应该能够从外部访问您的应用程序http://external-ip-of-ingress-controller/hello
现在要调试502问题,请验证从Loadbalancer到您的应用程序的运行状况检查是否通过。谢谢您的回复。3.我会按照导游的指示进行检查,并通知你。。我在前面看到了指南,这也是我没有这么做的唯一原因,因为它涉及Kubernetes入口控制器,而不是nginxinc的入口控制器。我也没有任何问题,我只是想看看是否可以在GKE上使用nginxinc,因为它在我的裸机集群上工作得非常好。但我会仔细阅读指南,并向您介绍最新情况。再次感谢本指南仅适用于Nginx入口控制器。。注释定义了如果您给出kubernetes.io/ingres.class:nginx它将使用nginx,如果您不给出任何东西,它将使用gke-ingres-controller,那么将使用什么入口控制器