范围内的kubernetes nodePort服务

时间:2019-12-16 14:03:23

标签: kubernetes kubernetes-ingress istio kubernetes-service

我想在3000-14000之间的所有端口上公开我的应用程序。为此,我通过更新kubeapi-server清单文件字段“ --service-node-port-range = 3000-14000”,更改了默认的nodePort范围30k-32767。对我来说,按照下面的模板手动指定所有端口号几乎是不可能的。

apiVersion: v1
kind: Service
metadata: 
   name: myapp-service
spec:
  type: nodePort
  selector:
   app: myapp
  ports:
  - targetPort: 3000
    port: 3000
    nodePort: 3000
  ...................
  ...................
 - targetPort: 14000
    port: 14000
    nodePort: 14000

我们是否还有其他替代解决方案/插件,以便打开3k-14k范围内的所有端口。

2 个答案:

答案 0 :(得分:2)

不幸的是,Kubernetes尚不支持exposing range of ports(在Docker中可能)。

作为解决方法,使用Helm templates在values.yaml文件中创建带有服务模板和端口的图表。或创建一个脚本以自动创建服务Yaml以公开每个端口。

答案 1 :(得分:0)

根据评论,这与拥有11k应用程序一样(很简单!)。
因此,您必须以我认为的“正常”方式进行操作……这意味着您必须手动映射所有11k端口。

但是,为了使它更容易实现,您可以省略babel-preset-env属性。 Kubernetes将自动分配一个未使用的。