gpt4 book ai didi

kubernetes - 我如何找出 Kubernetes 中可用的端口?

转载 作者:行者123 更新时间:2023-12-03 12:47:31 35 4
gpt4 key购买 nike

我想在 kubernetes 集群的不同端口上运行多个服务,我想知道如何检查哪些端口可用并且不会与我的服务发生任何冲突。我还想知道每个端口上的服务名称,以便更好地理解我的配置。

最佳答案

有一个类似的问题与验证哪些 NodePorts 已被使用有关。你可以找到它here .

此命令将显示所有 namespaces 中的所有 ports,这些 NodePort 类型已在使用中。

$ kubectl get svc --all-namespaces -o go-template='{{range .items}}{{range.spec.ports}}{{if .nodePort}}{{.nodePort}}{{"\n"}}{{end}}{{end}}{{end}}'
30007
30107
30207
30307
30407
30676

但是,请记住,Kubernetes 不允许您第二次使用相同的 NodePort

$ cat<<eof|kubectl apply -f -
> apiVersion: v1
> kind: Service
> metadata:
> name: my-service-test
> spec:
> type: NodePort
> selector:
> app: MyApp
> ports:
> - port: 80
> targetPort: 80
> nodePort: 30307
> eof
The Service "my-service-test" is invalid: spec.ports[0].nodePort: Invalid value: 30307: provided port is already allocated

此外,还有一些非常特殊的情况,当您想使用 K8s docs 中提到的默认范围之外的端口时.有一个解决方法,如果您将添加一个具有请求范围的特殊标志 --service-node-port-range,准入 Controller 允许您使用端口 创建 NodePort >80443。有关如何操作的详细信息,请查看 this answer .

关于kubernetes - 我如何找出 Kubernetes 中可用的端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62253143/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com