限制特定命名空间的NodePort范围

ibps3vxo  于 2022-09-20  发布在  Kubernetes
关注(0)|答案(1)|浏览(194)

我有多个名称空间,其中一些名称空间的节点端口范围已经从30000保留到32000。我想用Helm部署一组新的作业,每个作业都有两个节点端口值,例如32014和32015。我想知道是否有可能将Kubernetes可以选择NodePort值的范围限制为32000-32200,或者是否可以向Helm模板添加某种函数,该函数将根据已经部署的节点端口的数量将每个新的NodePort递增1。有什么办法可以做到这一点吗?

tcomlyy6

tcomlyy61#

NodePort服务的Kubernetes文档声明:
如果将type字段设置为NodePort,则Kubernetes控制平面将从--service-node-port-range标记(默认为30000-32767)指定的范围内分配一个端口。每个节点将该端口(每个节点上的相同端口号)代理到您的服务中。您的服务在其.spec.ports[*].nodePort字段中报告分配的端口。

回读这篇文章:

  • 在服务规格中,您可以手动指定单个nodePort值;或
  • 如果您不这样做,群集会在群集配置的范围内为您分配一个

没有办法让集群选择端口,只能在服务指定的范围内选择。

在Helm上下文中,我看到的一种方法是让服务类型是可配置的。如果它是NodePort类型的服务,图表将能够在部署时确定服务名称,并且NOTES.txt文件可以写出适当的kubectl get命令以找出实际端口号。下面是bitnami/harbor图表中的一个具体例子。

相关问题