问题描述
我的 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 规范中的选择器不匹配时,会发生这种情况,