首页 > 解决方案 > Pod 未与具有相同标签的服务连接 - Kubernetes

问题描述

我创建了一个 podlabel:appenv和一个节点端口类型的服务,选择器为appenv. 但是当我使用kubectl get ep service-name它时,它显示“没有端点”(意味着服务没有与那个 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. 如何更改上述文件以相互连接?

标签: kuberneteslabelkubernetes-service

解决方案


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


推荐阅读