集群上的 Kubernetes NodePort (Default_range + user_defined_range) 或者它可以只是一个范围

DT.*_*DT. 6 kubernetes service-node-port-range

kubernetes 集群上是否可以有 NodePort Default_range + user_define_range 或者它只能是一个范围

我们可以配置为默认范围加上用户定义值的范围吗?就像默认范围是 30000-32767 一样,我们也可以有 40000-41000 的附加范围吗?

希望保留集群中其他应用程序的默认范围,但构建一个特定于我的应用程序的范围。

我已经测试了在范围之外分配端口,它显然失败了,因此范围是硬定义的,想了解是否有任何方法可以拥有两个范围或用户需要使用默认范围或自定义范围(即单个集群中的两个不同范围是不支持 )

ubuntu@cluster-master:~$ kubectl expose deployment nginx --type=NodePort --port=80 --dry-run -o yaml

apiVersion: v1

kind: Service

metadata:

  creationTimestamp: null

  labels:

    run: nginx

  name: nginx

spec:

  ports:

  - port: 80

    protocol: TCP

    targetPort: 80

    nodePort: 40000

  selector:

    run: nginx

  type: NodePort

status:

  loadBalancer: {}
Run Code Online (Sandbox Code Playgroud)
ubuntu@cluster-master:~$ kubectl create -f service.yaml

The Service "nginx" is invalid: spec.ports[0].nodePort: Invalid value: 40000: provided port is not in the valid range. The range of valid ports is 30000-32767
Run Code Online (Sandbox Code Playgroud)

OhH*_*ark 6

不幸的是,这样是不可能的。

默认范围确实是 30000-32767,但可以通过设置 --service-node-port-range 更新文件/etc/kubernetes/manifests/kube-apiserver.yaml并添加行来更改--service-node-port-range=xxxxx-yyyyy

但要小心,不要在选择范围时产生任何配置问题,以避免与主机网络上的其他任何内容发生冲突。

我认为对您来说最好的解决方案是设置一个单一但更广泛的范围。

我希望它有帮助。