在GKE上我创建了一些pod和无头服务。无头服务有一个选择器,我期望端点获得与选择器匹配的Pod的IP。
但是端点仍然是空的
$ kubectl get pods -lservice=front-end
NAME READY STATUS RESTARTS AGE
front-end-1567472915-tei91 1/1 Running 0 12m
$ kubectl get svc -lapp=sockshop
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
front-end None <none> 11m
$ kubectl get endpoints -lapp=sockshop
NAME ENDPOINTS AGE
front-end <none> 11m
$ more svc.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: sockshop
name: front-end
spec:
clusterIP: None
ports: null
selector:
service: front-end
我希望端点获取Pod的IP,以便DNS注册正常工作。
答案 0 :(得分:2)
如果ports
设置为null
,则不会填充端点。
您需要为端点添加一个端口(甚至是虚拟端口),以便填充与选择器匹配的Pod的PodIP。
ports:
- port: 1234
protocol: TCP
targetPort: 1234