带选择器的无头服务无法获得端点

时间:2016-09-13 11:43:37

标签: kubernetes

在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注册正常工作。

1 个答案:

答案 0 :(得分:2)

如果ports设置为null,则不会填充端点。

您需要为端点添加一个端口(甚至是虚拟端口),以便填充与选择器匹配的Pod的PodIP。

ports: - port: 1234 protocol: TCP targetPort: 1234