Kubernetes Ingress-nginx 给出 502 错误,地址字段为空



我正在使用 kubeadm 在 AWS 环境中设置 kubernetes。我已经设置了入口-nginx来访问端口443上的服务。我已经检查了看起来不错的服务配置。我收到 502 错误的网关,入口中的地址字段也为空。

前端服务

apiVersion: v1
kind: Service
metadata:
labels:
name: voyager-configurator-webapp
name: voyager-configurator-webapp
spec:
ports:
-
port: 443
targetPort: 443
selector:
component: app
name: voyager-configurator-webapp
type: ClusterIP

入口 yml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nginx-ingress-resource
spec:
tls:
- hosts:
- kubernetes-test.xyz.com
secretName: default-server-secret
rules:
- host: kubernetes-test.xyz.com
http:
paths:
- backend:
serviceName: voyager-configurator-webapp
servicePort: 443
NAME                     CLASS    HOSTS                         ADDRESS   PORTS     AGE
nginx-ingress-resource   <none>   kubernetes-test.xyz.com             80, 443   45m

这里可能有什么问题?任何帮助将不胜感激。

确保在正确的命名空间中创建服务,如果没有,请在服务定义中添加命名空间字段。添加与服务同名的名为name的标签不是好方法,而是可以使用不同的标签来避免错误和配置问题。 阅读有关选择器和标签的更多信息:标签选择器。

前端服务应如下所示:

piVersion: v1
kind: Service
name: voyager-configurator-webapp
metadata:
labels:
component: app
appservice: your-example-app
spec:
ports:
- protocol: TCP
port: 443
targetPort: 443
selector:
component: app
app: your-example-app
type: ClusterIP

入口应如下所示:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nginx-ingress-resource
annotations:
kubernetes.io/ingress.class: nginx
spec:
tls:
- hosts:
- kubernetes-test.xyz.com
secretName: default-server-secret
rules:
- host: kubernetes-test.xyz.com
http:
paths:
- path: /
backend:
serviceName: voyager-configurator-webapp
servicePort: 443

您必须使用入口定义后端的路径,以发送流量。

请记住,最好在设置过程中遵循一些示例和说明,以避免在调试过程中出现问题和浪费时间。

看看:nginx-ingress-502-bad-gateway,aws-kubernetes-ingress-nginx。

相关内容

  • 没有找到相关文章

最新更新