如何设置服务节点端口范围,然后能够使用新的端口范围部署服务?
How to set service-node-port-range and then be able to deploy services using the new port range?
我要求测试服务器应使用 20000 - 22767 端口范围
我用命令
编辑了kubeadm-config
kubectl edit cm kubeadm-config -n kube-system
当我查看结果时,我发现更改似乎已存储:
命令$ kubeadm config view
给我
apiServer:
extraArgs:
authorization-mode: Node,RBAC
service-node-port-range: 20000-22767
timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta1
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controlPlaneEndpoint: ""
controllerManager: {}
dns:
type: CoreDNS
etcd:
local:
dataDir: /var/lib/etcd
imageRepository: k8s.gcr.io
kind: ClusterConfiguration
kubernetesVersion: v1.13.3
networking:
dnsDomain: cluster.local
podSubnet: 10.244.0.0/16
serviceSubnet: 10.96.0.0/12
scheduler: {}
但是当我稍后尝试在新的端口范围内安装一些东西时,我得到了错误
helm upgrade --install --kubeconfig /external-storage/workspace/potapi-orchestration/clusters/at/admin.conf potapi-services charts/potapi-services -f charts/potapi-services/values.at.yaml
Error: UPGRADE FAILED: Service "potapi-services" is invalid: spec.ports[0].nodePort: Invalid value: 21011: provided port is not in the valid range. The range of valid ports is 30000-32767
我已经修改了这里的建议,但没有成功:https://github.com/kubernetes/kubeadm/issues/122
可以从默认值更新 service-node-port-range
。
我用 --service-node-port-range=20000-22767
更新了文件 /etc/kubernetes/manifests/kube-apiserver.yaml
。
apiserver 已重启,端口范围已更新。
我写了一篇关于它的 blog post。
我也找不到任何关于 kubeadm 配置的文档。以下对我有用:
# your current k8s version
KUBE_VERSION=v1.14.1
KUBEADM_CONFIG=kubeadm-config.yaml
# save current kubeadm config
kubeadm config view > $KUBEADM_CONFIG
# add desired port range
vi kubeadm-config.yaml
apiServer:
extraArgs:
authorization-mode: Node,RBAC
+ service-node-port-range: 20000-22767
# save kubeadm config into a configmap
kubeadm config upload from-file --config $KUBEADM_CONFIG
# check changes
sudo kubeadm upgrade diff --config $KUBEADM_CONFIG
# apply changes
sudo kubeadm upgrade apply $KUBE_VERSION --config $KUBEADM_CONFIG
我要求测试服务器应使用 20000 - 22767 端口范围
我用命令
编辑了kubeadm-config
kubectl edit cm kubeadm-config -n kube-system
当我查看结果时,我发现更改似乎已存储:
命令$ kubeadm config view
给我
apiServer:
extraArgs:
authorization-mode: Node,RBAC
service-node-port-range: 20000-22767
timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta1
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controlPlaneEndpoint: ""
controllerManager: {}
dns:
type: CoreDNS
etcd:
local:
dataDir: /var/lib/etcd
imageRepository: k8s.gcr.io
kind: ClusterConfiguration
kubernetesVersion: v1.13.3
networking:
dnsDomain: cluster.local
podSubnet: 10.244.0.0/16
serviceSubnet: 10.96.0.0/12
scheduler: {}
但是当我稍后尝试在新的端口范围内安装一些东西时,我得到了错误
helm upgrade --install --kubeconfig /external-storage/workspace/potapi-orchestration/clusters/at/admin.conf potapi-services charts/potapi-services -f charts/potapi-services/values.at.yaml
Error: UPGRADE FAILED: Service "potapi-services" is invalid: spec.ports[0].nodePort: Invalid value: 21011: provided port is not in the valid range. The range of valid ports is 30000-32767
我已经修改了这里的建议,但没有成功:https://github.com/kubernetes/kubeadm/issues/122
可以从默认值更新 service-node-port-range
。
我用 --service-node-port-range=20000-22767
更新了文件 /etc/kubernetes/manifests/kube-apiserver.yaml
。
apiserver 已重启,端口范围已更新。
我写了一篇关于它的 blog post。
我也找不到任何关于 kubeadm 配置的文档。以下对我有用:
# your current k8s version
KUBE_VERSION=v1.14.1
KUBEADM_CONFIG=kubeadm-config.yaml
# save current kubeadm config
kubeadm config view > $KUBEADM_CONFIG
# add desired port range
vi kubeadm-config.yaml
apiServer:
extraArgs:
authorization-mode: Node,RBAC
+ service-node-port-range: 20000-22767
# save kubeadm config into a configmap
kubeadm config upload from-file --config $KUBEADM_CONFIG
# check changes
sudo kubeadm upgrade diff --config $KUBEADM_CONFIG
# apply changes
sudo kubeadm upgrade apply $KUBE_VERSION --config $KUBEADM_CONFIG