kubernetes - 为什么我的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
解决方案
可能是因为 2017 年就是这种情况,现在已经不是了。
您引用的问题来自 2016 年和 2017 年。
从那时起,<none>
除非它是 LoadBalancer,否则您将始终看到。请参阅2019 年在 github 上的此特定评论。
抱歉,我找不到 PR 也找不到与该更改相对应的问题。
推荐阅读
- java - 线程优先级无法正常工作。我在代码中做错了什么?
- android - org.gradle.internal.resolve.ArtifactNotFoundException:找不到 play-services-basement.aar
- javascript - 如何从 next() 获取输入值
- python - 根据models.py中的用户应用迁移,而不是根据数据库中的迁移应用
- javascript - 使用嵌套表单数组获取“路径错误”
- actionscript-3 - 如何在 ActionScript 中捕获流错误
- android - 在我的应用程序上发现未知数据库和数据库操作
- jquery - 我想给Ajax调用中的成功函数延迟,可以吗
- security - 我收到了一封电子邮件(gmail),如果发件人和收件人都使用相同的域,如何知道发件人的 IP 地址
- javascript - 在映射 ReactJS 中未调用组件