I have a requirement that a test server should use the port range 20000 - 22767
I edited the kubeadm-config
with the command
kubectl edit cm
I too couldn't find any docs on kubeadm configuration. The following works for me:
# 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
It is possible to update the service-node-port-range
from it's default values.
I updated the file /etc/kubernetes/manifests/kube-apiserver.yaml
with --service-node-port-range=20000-22767
.
The apiserver was restarted and the port range was updated.
I wrote a blog post about it.