Pods 未连接具有相同标签的服务 -Kubernetes

Pods not connecting with service having same labels -Kubernetes

我创建了一个 label:appenv 的 pod 和一个节点端口类型的服务,选择器为 appenv。但是当我使用 kubectl get ep service-name 时,它显示 "no endpoints"(意味着服务未与该 pod 连接)。
这是我的 pod.yamlservice.yaml

pod.yaml

apiVersion: v1
kind: Pod
metadata:
  name: pod1
  labels:
    app: appenv
spec:
  containers:
  - name: app
    image: aathith/lbt:v1
    ports:
    - name: app-port
      containerPort: 8082
  restartPolicy: Never


service.yaml

apiVersion: v1
kind: Service
metadata:
  name: app
spec:
  selector:
    app: appenv
  type: NodePort
  ports:
  - name: http
    port: 8082
    targetPort: 8082
    nodePort: 30082
    protocol: TCP

kubectl get po --show-labels 的输出

kubectl get svc

的输出

kubectl get svc app

的输出

  1. 为什么我无法将 Pod 连接到此服务?
  2. 如何更改上述文件以相互连接?

您的 pod 处于 "Completed" 状态 - 这就是问题所在。它不在状态 "Running"。为什么?因为容器中的命令以 0 退出代码完成。在正常情况下,容器的 运行 命令不应退出,除非它是作业或 Cronjob。你明白我的意思吗?