Kubernetes 服务已配置但连接被拒绝

问题描述

我的 kuberntes 集群上有服务配置,但是当我尝试 curl ip:port 时,连接被拒绝 配置了以下服务:

apiVersion: v1
kind: Service
Metadata:
  name: frontend
  namespace: production
spec:
  type: NodePort
  selector:
    app: frontend
  ports:
   - name: control-center-web
     port: 8008
     protocol: TCP
     targetPort: 8008

$ kubectl 描述 svc 前端

 Name:                    frontend
    Namespace:                production
    Labels:                   <none>
    Annotations:              kubectl.kubernetes.io/last-applied-configuration:
                                {"apiVersion":"v1","kind":"Service","Metadata":{"annotations":{},"name":"frontend","namespace":"production"},"spec":{"ports":[{"name":...
    Selector:                 app=frontend
    Type:                     NodePort
    IP:                       <ip>
    Port:                     control-center-web  8008/TCP
    TargetPort:               8008/TCP
    NodePort:                 control-center-web  7851/TCP
    Endpoints:                <none>
    Session Affinity:         None
    External Traffic Policy:  Cluster
    Events:
      Type    Reason  Age   From                Message
      ----    ------  ----  ----                -------
      normal  Type    14m   service-controller  LoadBalancer -> NodePort

为什么我从 svc 获取的 ip 和端口总是被拒绝连接?

解决方法

服务中的 Endpoints 获得了 None 而不是 Pod 的 IP。当服务 app: frontend 中的选择器与 pod 规范中的选择器不匹配时,会发生这种情况,

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...