我正在kubernetes集群中运行两个节点。我能够使用3个副本及其服务来部署我的微服务。现在,我试图让Nginx入口控制器公开我的服务,但是我从日志中得到了这个错误:
获取容器信息的意外错误:无法获取POD信息(缺少POD_NAME或POD_NAMESPACE环境变量)
我在集群中设置了开发的命名空间,这是部署微服务以及nginx控制器的地方。我不明白nginx如何拿起我的Pod,或者我如何传递Pod名称或pod_namespace。
这是我的Nginx控制器:
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-controller spec: replicas: 1 selector: matchLabels: name: nginx-ingress template: metadata: labels: name: nginx-ingress spec: containers: - name: nginx-ingress-controller image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.27.0 args: - /nginx-ingress-controller - --configmap=$(POD_NAMESPACE)/nginx-configuration env: - name: mycha-deploy valueFrom: fieldRef: fieldPath: metadata.name ports: - name: http containerPort: 80 - name: https containerPort: 443
这里是我的部署:
#dDeployment apiVersion: apps/v1 kind: Deployment metadata: name: mycha-deploy labels: app: mycha-app spec: replicas: 3 selector: matchLabels: app: mycha-app template: metadata: labels: app: mycha-app spec: containers: - name: mycha-container image: us.gcr.io/##########/mycha-frontend_kubernetes_rrk8s ports: - containerPort: 80
谢谢
我正在kubernetes集群中运行两个节点。我能够使用3个副本及其服务来部署我的微服务。现在,我正在尝试让nginx入口控制器公开我的服务,但是我是...
您的nginx入口控制器部署yaml看起来不完整,在许多其他项目中都没有。