修改所有Master节点的kube-apiserver服务启动文件里的--service-node-port-range参数; [root@k8s-vm01 ~]# cat /etc/systemd/system --service-node-port-range=30000-38767 修改后,重启kube-apiserver服务即可生效。
NodePort通常在30000-32767之间的范围内分配,如果你有特殊需求也可用通过修改kube-apiserver.yaml文件,在里面添加参数--service-node-port-range= [root@master01 ]# kubectl cluster-info dump |grep service-node-port-range "--service-node-port-range
http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - --docker --service-node-port-range curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - --service-node-port-range
但是咱们可以修改这个范围,本文针对的kubesphere版本为3.1.1,修改/etc/kubernetes/manifests目录下的kube-apiserver.yaml文件,添加下面的配置 --service-node-port-range
http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - --docker --service-node-port-range curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - --service-node-port-range
etc/kubernetes/manifests/kube-apiserver.yaml 找到 --service-cluster-ip-range 这一行,在这一行的下一行增加 如下内容: - --service-node-port-range
authorization-mode=RBAC,Node \ --enable-bootstrap-token-auth \ --token-auth-file=/k8s/kubernetes/cfg/token.csv \ --service-node-port-range RBAC授权和节点自管理 --enable-bootstrap-token-auth:启用TLS bootstrap机制 --token-auth-file:bootstrap token文件 --service-node-port-range
在某些场合下,这个限制不太适用,我们可以自定义它的端口范围,操作步骤如下: vim /etc/kubernetes/manifests/kube-apiserver.yaml 增加红圈配置即可 - --service-node-port-range
vi /etc/kubernetes/manifests/kube-apiserver.yaml - command: - kube-apiserver # 添加如下一行 - --service-node-port-range
vi /etc/kubernetes/manifests/kube-apiserver.yaml - command: - kube-apiserver # 添加如下一行 - --service-node-port-range
kubelet-https=true \\ --enable-bootstrap-token-auth \\ --token-auth-file=/opt/kubernetes/cfg/token.csv \\ --service-node-port-range kubelet-https=true \ --enable-bootstrap-token-auth \ --token-auth-file=/opt/kubernetes/cfg/token.csv \ --service-node-port-range -kubelet-https=true --enable-bootstrap-token-auth --token-auth-file=/opt/kubernetes/cfg/token.csv --service-node-port-range
本文中将k8s默认的Node Port端口30000-32767更改为了常用的5432-9876,读者朋友也可以根据自己的情况重新定义,只要保持service-node-port-range参数和防火墙放开的端口对应即可 k3scurl -Ls https://get.k3s.io | sh -s - server \ --cluster-init \ --token $SERVER_TOKEN \ --service-node-port-range
NodePort 指定暴露到宿主机的端口,不指定的话会随机分配个,分配的IP在apiserver的配置文件中指定了--service-node-port-range=30000-50000,表示只允许分配 该端口号的范围是 kube-apiserver 的启动参数 –service-node-port-range指定的,在当前测试环境中其值是 30000-50000。
NodePort 类型的 Service,Kubernetes 为其分配一个节点端口(对于同一 Service,在每个节点上的节点端口都相同),该端口的范围在初始化 apiserver 时可通过参数 --service-node-port-range 您可以通过 nodePort 字段指定节点端口号(必须在 --service-node-port-range 指定的范围内)。
kernel.softlockup_all_cpu_backtrace = 1 用于解决 K8S 内核软锁相关 bug net.ipv4.ip_local_reserved_ports = 30000-32767 默认 K8S Nodport 端口 service-node-port-range #37853 · kubernetes/kubernetes (github.com): https://github.com/kubernetes/kubernetes/issues/37853 [3] service-node-port-range
service-cluster-ip-range=10.96.0.0/16 \ --token-auth-file=/etc/kubernetes/token.csv \ #上一步创建的token文件位置 --service-node-port-range enable-bootstrap-token-auth \ --service-cluster-ip-range=10.96.0.0/16 \ --token-auth-file=/etc/kubernetes/token.csv \ --service-node-port-range enable-bootstrap-token-auth \ --service-cluster-ip-range=10.96.0.0/16 \ --token-auth-file=/etc/kubernetes/token.csv \ --service-node-port-range
NodePort // 将 ClusterIP 修改为 NodePort ... nodePort 端口默认为 30000-32767,若使用其他端口,需要修改 apiserver 的启动参数 --service-node-port-range 来指定 nodePort 范围,如:--service-node-port-range 8000-9000。
node-ip $PRIVATE_IP \ --node-external-ip $PUBLIC_IP \ --advertise-address $PRIVATE_IP \ --service-node-port-range
//get.k3s.io | sh -s - --disable=traefik,servicelb --data-dir=/opt/rancher/k3s --kube-apiserver-arg service-node-port-range --kube-apiserver-arg service-node-port-range=0-50000:设置 NodePort 服务范围。
--token-auth-file=/etc/kubernetes/token.csv \\ --service-cluster-ip-range=10.254.0.0/16 \\ --service-node-port-range rbac.authorization.k8s.io/v1beta1,表示运行时的apiVersion; –service-cluster-ip-range 指定 Service Cluster IP 地址段,该地址段不能路由可达; –service-node-port-range