为什么我的minikube的NodePort服务的外部IP是<none>而不是<nodes>?

时间:2020-02-04 16:02:20

标签: kubernetes kubernetes-service

我正在研究Marko Luska撰写的 Kubernetes In Action 中的5.3章。我正在从following file创建一个nodeport服务:

apiVersion: v1
kind: Service
metadata:
  name: kubia-nodeport
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 8080
    nodePort: 30123
  selector:
    app: kubia

它可以正常工作,我可以访问所有我希望访问的IP(本地主机,cluterIP ...),但外部IP显示为<none>

$ kubectl get svc 
NAME             TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
kubernetes       ClusterIP   10.96.0.1      <none>        443/TCP        17h
kubia-nodeport   NodePort    10.96.191.43   <none>        80:30123/TCP   12s

$ kubectl get rc --show-labels
NAME    DESIRED   CURRENT   READY   AGE   LABELS
kubia   3         3         3       21h   app=kubia

$ kubectl get po --show-labels
NAME          READY   STATUS    RESTARTS   AGE   LABELS
kubia-fb7h8   1/1     Running   0          17h   app=kubia
kubia-nnkc4   1/1     Running   0          17h   app=kubia
kubia-s88mt   1/1     Running   0          17h   app=kubia

Minikube应该显示<nodes>,就像在this question和此other question中一样。为什么不呢?

1 个答案:

答案 0 :(得分:1)

可能是因为2017年就是这种情况,现在不再了。
您引用的问题来自2016年和2017年。

从那时起,您将始终看到<none>,除非它是LoadBalancer。请参阅2019年起在github上的particular comment

对不起,我找不到PR,也找不到与该更改相对应的问题。