如何增加 kubernetes 中服务可用的端口范围

How to increase the range of ports available to services in kubernetes

我想在 kubernetes 上创建一个暴露大量端口的 loadBalancer 服务。因为您还不能在 kubernetes 上这样做 (https://github.com/kubernetes/kubernetes/issues/23864)。

我通过以下格式的 yaml 文件手动输入了一系列端口:

apiVersion: v1
kind: Service
metadata: 
  name: service
spec:
  ports:
  - name: port10000
  port: 10000
  protocol: UDP
    .
    .
    .
  - name: port40000
  port: 40000
  protocol: UDP
  selector: 
    app: app-label
  type: LoadBalancer    

我收到以下错误:

Error from server (InternalError): error when creating "service-udp.yml": Internal error occurred: failed to allocate a nodePort: range is full

是否可以增加服务可用的端口范围?如果是,怎么做?

这由 kube-apiserver--service-node-port-range portRange 参数控制 - 更改方式取决于您的环境。

请记住,nodePorts 旨在被负载平衡器用作构建块。所以你尝试做的很可能不是最佳实践。

希望这对您有所帮助..