首页 > 解决方案 > 为什么我的minikube的NodePort服务的外网IP并不是?

问题描述

我正在阅读Marko Luska的Kubernetes In Action第 5.3 章。我正在从以下文件创建一个 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>像在这个问题另一个问题中一样显示。为什么不是?

标签: kuberneteskubernetes-service

解决方案


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

从那时起,<none>除非它是 LoadBalancer,否则您将始终看到。请参阅2019 年在 github 上的此特定评论。

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


推荐阅读