Kubernetes 如何设置服务节点端口范围,然后能够使用新的端口范围部署服务?

Kubernetes 如何设置服务节点端口范围,然后能够使用新的端口范围部署服务?,kubernetes,service-node-port-range,Kubernetes,Service Node Port Range,我有一个要求,测试服务器应该使用端口范围20000-22767 我用命令编辑了kubeadm config kubectl编辑cm kubeadm配置-n kube系统 当我查看结果时,我看到更改似乎已存储: 命令$kubeadm config view为我提供 apiServer: extraArgs: authorization-mode: Node,RBAC service-node-port-range: 20000-22767 timeoutForControl

我有一个要求,测试服务器应该使用端口范围20000-22767

我用命令编辑了
kubeadm config

kubectl编辑cm kubeadm配置-n kube系统

当我查看结果时,我看到更改似乎已存储:

命令
$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

我在这里修改了这些建议,但运气不好:

可以从其默认值更新
服务节点端口范围

我用
--服务节点端口范围=20000-22767
更新了文件
/etc/kubernetes/manifests/kube-apiserver.yaml

apiserver已重新启动,端口范围已更新


我写了一篇关于它的文章。

我也找不到关于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

更改后您的apiserver重新启动了吗?你能在
/etc/kubernetes/manifests/kube-apiserver中看到编辑过的范围吗。我很确定它没有重新启动,因为我在
/etc/kubernetes/manifests
中留下了一个带有原始值的备份文件。那是个错误。删除备份文件导致重新启动,端口范围已更新。您的帖子很棒,但我使用
K0s
distro,我没有
kube-apiserver.yaml
设置端口范围的位置。有没有关于如何解决缺少此文件的建议