kubernetes更改nodePort模式下的默认端口范围
使用nodePort模式,官方默认范围为30000-32767,详见Service官方文档。
NodePort 类型
如果将 type 字段设置为 NodePort,则 Kubernetes 控制平面将在 –service-node-port-range 标志指定的范围内分配端口(默认值:30000-32767)。 每个节点将那个端口(每个节点上的相同端口号)代理到您的服务中。 您的服务在其 .spec.ports[*].nodePort 字段中要求分配的端口。
在使用nodePort模式后,一个很显著的问题就是,域名后面必须带端口,这就很致命了,很显然没有哪个公司的网站是需要你输入域名+端口模式的,所以可以采取这种方式进行规避:
更改端口
调整默认端口为1-65535,可根据需求自行调整:
YAML
1
|
[root@node-1 manifests]# vim /etc/kubernetes/manifests/kube-apiserver.yaml
|
调整完毕后会等待大概10s,因为更改kube-apiserver.yaml
配置文件后会进行重启操作,重新加载配置文件,期间可执行kubectl get pod
命令进行查看,如果可正常查看pod信息即说明重启完毕。但是此时端口范围可能仍然不会生效,需要继续进行以下操作:
CRMSH
1
|
[root@node-0 manifests]# systemctl daemon-reload
|
然后重新进行新的service的生成,即可成功创建指定nodePort的service。