根据正在运行的作业数量注入 NodePort 值

问题描述 投票:0回答:1

我在kubernetes中有很多作业必须暴露出来,所以每个ConfigMap都有一个NodePort。我决定查看 Helm 图表是否可以帮助代码变得更加灵活,而不是将 NodePort 硬编码到每个作业。

问题:是否可以根据之前部署的 NodePort 数量来为作业分配 NodePort? 例如:第一个作业使用端口 32001、32002 运行,我应用第二个作业并将端口 32003、32004 分配给它。

kubernetes kubernetes-helm
1个回答
0
投票

如果您没有在服务规范中手动分配

nodePort:
值,那么 Kubernetes 将为您分配它。它将选择一个尚未分配给 NodePort 类型服务的数字,其端口范围通常不会与其他事物冲突(通常为 30000-32767;作为应用程序开发人员,您无法控制这一点)。

在您描述的设置中,在部署实际发生之前不会知道外部端口号(端口号取决于现有作业的数量和部署顺序),因此尝试应用之间没有太大区别这条规则可以提供一个端口号,或者只是让集群分配它。我会删除

nodePort:
作业。

(原则上可以使用 Helm

lookup
功能来找出已经存在的内容。这可能会很快变得复杂,可能会导致
helm update
上的端口号发生变化,并且如果有多个实体,则可能无法正常工作同时尝试
helm install
,我会避免这条路。)

© www.soinside.com 2019 - 2024. All rights reserved.