Kubernetes kubectl中端口选项的用途是什么

Kubernetes kubectl中端口选项的用途是什么,kubernetes,kubectl,minikube,Kubernetes,Kubectl,Minikube,我不清楚命令kubectl expose demo-port=8080--target port=8080--type=NodePort 我知道该命令用于向外部公开部署,目标端口是容器上的端口。运行此命令后,Minikube将在节点上随机分配一个端口。然后我可以通过这个端口访问我的服务。如何使用--port选项?它是群集中用户/客户端的端口吗?根据,kubectl expose将资源公开为新的Kubernetes服务,其中: --port是“…服务应在其上提供服务的端口。如果未指定,则从公开的

我不清楚命令
kubectl expose demo-port=8080--target port=8080--type=NodePort

我知道该命令用于向外部公开部署,
目标端口是容器上的端口。运行此命令后,Minikube将在节点上随机分配一个端口。然后我可以通过这个端口访问我的服务。如何使用
--port
选项?它是群集中用户/客户端的端口吗?

根据,
kubectl expose
将资源公开为新的Kubernetes服务,其中:

  • --port
    是“…服务应在其上提供服务的端口。如果未指定,则从公开的资源复制”

  • --目标端口
    是“…服务应将流量定向到的容器上的端口的名称或编号。可选”

因此,
--port
标志指定可访问服务的端口。需要注意的是,对于类型,“…Kubernetes控制平面从--service node port range flag(默认值:30000-32767)指定的范围分配端口”

如果要粘贴NodePort端口,并假定为默认设置,请尝试使用上述范围内的端口号。例如:

kubectl expose deployment demo --port=31080 --target-port=8080 --type=NodePort
另一个选项是使用
kubectl create service nodeport
和适当的
节点端口
标志。这是有案可查的


这可能是个人的偏好,但尽管kubectl运行、公开和类似命令非常方便,我更愿意使用()配置文件,这些文件在代码repo中签入并进行版本控制,而不是:-)

非常感谢,因此如果我使用的端口(如8080)不在30000-32767范围内,它将被随机分配,对吗?我发现当前在
kubectl
中,您无法选择公开的端口。您能做的:a)使用
kubectl expose demo--port=8080--target port=8080--type=NodePort
然后使用
kubectl edit
更改配置。b) 使用yaml文件创建用于部署的服务。