k8s nodepoet 端口修改_限定k8s的nodeport只在固定主机上开放
isunkubernetes浏览:1,145八月 6, 2020默认情况下kubernetes会在集群所有主机上开放nodeport,我们可以限制nodeport端口只在固定几台主机上开放,这几台主机作为专用的集群流量入口,这样便于管理,也避免了node节点上端口的浪费。通过kube-proxy –help命令可以查看kube-proxy支持的参数其中–nodeport-address参数可以用来
isun
kubernetes
浏览:1,145
八月 6, 2020
默认情况下kubernetes会在集群所有主机上开放nodeport,我们可以限制nodeport端口只在固定几台主机上开放,这几台主机作为专用的集群流量入口,这样便于管理,也避免了node节点上端口的浪费。
通过kube-proxy –help命令可以查看kube-proxy支持的参数
其中–nodeport-address参数可以用来指明在哪些节点上开放nodeport
默认为空情况下会将kube-proxy所在节点暴露为nodeport主机,因为目标是固定主机暴露,因此有两种配置方式:
第一种:将要暴露nodeport的主机ip配置到集群所有主机的kube-proxy中,例:
–nodeport-addresses=192.168.184.201/32, 192.168.184.202/32
这样整个集群的配置可以统一起来,但是如果变更要暴露的主机地址需要修改集群所有kube-proxy配置,比较麻烦。
第二种:将集群所有主机kube-proxy的–nodeport-address配置为一个集群内不存在的主机地址,这样默认不会暴露任何一个节点;
修改需要暴露的主机的kube-proxy配置,将 –nodeport-address 配置为自己的IP地址,例:
# 192.168.184.201 主机kube-proxy配置修改为
–nodeport-addresses=192.168.184.201/32
修改后重启kube-proxy立刻生效,例:
systemctl daemon-reload
systemctl restart kube-proxy
以上方法适用于二进制部署的kube-proxy,容器化部署的需要修改kube-proxy的confimap:
kubectl edit cm -n kube-system kube-proxy
修改 nodePortAddresses 为指定ip即可,例:
nodePortAddresses: [ 192.168.184.201/32 , 192.168.184.202/32 ]
容器化部署方式没有验证,需要确定是否需要重启容器才能生效。
更多推荐
所有评论(0)