库贝特尔公开中端口选项的用法是什么



我不清楚命令中端口选项的用法kubectl expose deployment demo ---port=8080 --target-port=8080 --type=NodePort

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

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

  • --port是"...服务应在其上提供服务的端口。从未指定时从公开的资源复制

    "。
  • --target-port是"...服务应将流量定向到的容器上的端口的名称或编号。可选"。

因此,--port标志指定可访问服务的端口。需要注意的是,对于节点端口类型,"...Kubernetes 控制平面从 --service-node-port-range 标志(默认:30000-32767(指定的范围内分配一个端口。

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

kubectl expose deployment demo --port=31080 --target-port=8080 --type=NodePort

另一种选择是将kubectl create service nodeport与适当的node-port标志一起使用。此处记录了它。

这可能是个人偏好,但尽管 kubectl run、expose 和类似的命令很方便,但我宁愿使用在代码存储库中签入和版本控制的(声明性(配置文件,而不是使用命令式命令:-(

最新更新