Nginx入口控制器日志不断告诉我我有错误的Pod信息

问题描述 投票:-1回答:1

我正在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入口控制器公开我的服务,但是我是...

docker nginx kubernetes nginx-ingress
1个回答
0
投票

您的nginx入口控制器部署yaml看起来不完整,在许多其他项目中都没有。

© www.soinside.com 2019 - 2024. All rights reserved.