修改k8s的nodeport类型端口范围provided port is not in the valid range. The range of valid ports is 30000-32767

修正Kubernetes服务节点端口范围
本文介绍了解决Kubernetes中服务节点端口超出有效范围的问题,通过编辑kube-apiserver.yaml文件并修改服务节点端口范围为1-65535,最后重启kubelet服务。

provided port is not in the valid range. The range of valid ports is 30000-32767 解决办法

 

 编辑 kube-apiserver.yaml文件

vim /etc/kubernetes/manifests/kube-apiserver.yaml

 找到 --service-cluster-ip-range 这一行,在这一行的下一行增加 如下内容

- --service-node-port-range=1-65535

 最后修改如下

# vim /etc/kubernetes/manifests/kube-apiserver.yaml

    kubeadm.kubernetes.io/kube-apiserver.advertise-address.endpoint: 192.168.134.139:6443
  creationTimestamp: null
  labels:
    component: kube-apiserver
    tier: control-plane
  name: kube-apiserver
  namespace: kube-system
spec:
  containers:
  - command:
    - kube-apiserver
    - --advertise-address=192.168.134.139
    - --allow-privileged=true
    - --authorization-mode=Node,RBAC
    - --client-ca-file=/etc/kubernetes/pki/ca.crt
    - --enable-admission-plugins=NodeRestriction
    - --enable-bootstrap-token-auth=true
    - --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt
    - --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt
    - --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key
    - --etcd-servers=https://127.0.0.1:2379
    - --insecure-port=0
    - --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt
    - --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key
    - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
    - --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt
    - --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key
    - --requestheader-allowed-names=front-proxy-client
    - --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt
    - --requestheader-extra-headers-prefix=X-Remote-Extra-
    - --requestheader-group-headers=X-Remote-Group
    - --requestheader-username-headers=X-Remote-User
    - --secure-port=6443
    - --service-account-key-file=/etc/kubernetes/pki/sa.pub
    - --service-cluster-ip-range=10.96.0.0/12
    - --service-node-port-range=1-65535
    - --tls-cert-file=/etc/kubernetes/pki/apiserver.crt
    - --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
    image: registry.aliyuncs.com/google_containers/kube-apiserver:v1.18.1
    imagePullPolicy: IfNotPresent
    livenessProbe:
"/etc/kubernetes/manifests/kube-apiserver.yaml" 83L, 2784C   

 最后 重启 kubelet

systemctl daemon-reload
systemctl restart kubelet

 

在Kubernetes中,当WordPress服务配置时出现 `spec.ports[0].nodePort: Invalid value: 32474: the provided range does not match the current range` 错误,通常是因为指定的 `nodePort` 值不在Kubernetes允许的范围内。Kubernetes默认的 `nodePort` 范围是 `30000-32767` ,不过这个范围可以通过 `kube-apiserver` 的 `--service-node-port-range` 参数进行修改。以下是一些解决办法: ### 修改 `nodePort` 值 将 `nodePort` 设置为允许范围内的值。例如,若默认范围是 `30000-32767` ,可以选择一个在此范围内且未被使用的端口。以下是一个示例的YAML文件: ```yaml apiVersion: v1 kind: Service metadata: name: wordpress-service spec: type: NodePort ports: - port: 80 targetPort: 80 nodePort: 30500 # 选择一个在允许范围内的端口 selector: app: wordpress ``` ### 调整 `kube-apiserver` 的 `--service-node-port-range` 参数 若需要使用超出默认范围的端口,可以修改 `kube-apiserver` 的 `--service-node-port-range` 参数。这通常需要修改 `kube-apiserver` 的配置文件,然后重启 `kube-apiserver` 服务。 #### 对于kubeadm安装的集群 1. 编辑 `/etc/kubernetes/manifests/kube-apiserver.yaml` 文件,添加或修改 `--service-node-port-range` 参数: ```yaml spec: containers: - command: - kube-apiserver - --service-node-port-range=30000-33000 # 修改为需要的范围 ``` 2. 保存文件后,Kubernetes会自动重启 `kube-apiserver` 。 #### 对于二进制安装的集群 1. 编辑 `kube-apiserver` 的启动脚本或systemd服务文件,添加或修改 `--service-node-port-range` 参数: ```bash ExecStart=/usr/local/bin/kube-apiserver \ --service-node-port-range=30000-33000 # 修改为需要的范围 ``` 2. 重启 `kube-apiserver` 服务: ```bash systemctl restart kube-apiserver ``` ### 检查端口是否被占用 在指定 `nodePort` 之前,需要确保该端口未被其他服务占用。可以使用以下命令检查端口占用情况: ```bash netstat -tulnp | grep <nodePort> ```
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值