Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 无法定义端口的值范围_Kubernetes_Kubernetes Helm - Fatal编程技术网

Kubernetes 无法定义端口的值范围

Kubernetes 无法定义端口的值范围,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,我的目标是为LoadBalancer类型的服务定义多个端口,我不想重复复制粘贴相同的内容 我确实找到了一个解决方案,但我确定如何定义范围-我需要从50000到50999的所有值 在我的服务中,我定义了范围: {{- range $service.ports }} - name: tport protocol: TCP port: {{ . }} {{- end }} 在我的值文件中: ports: - 50000 - 50001 - 50999 我如何定

我的目标是为
LoadBalancer
类型的服务定义多个端口,我不想重复复制粘贴相同的内容

我确实找到了一个解决方案,但我确定如何定义范围-我需要从50000到50999的所有值

在我的服务中,我定义了范围:

{{- range $service.ports }}
  - name: tport
    protocol: TCP
    port: {{ . }}
  {{- end }}
在我的值文件中:

ports: 
  - 50000
  - 50001
  - 50999

我如何定义端口或更新服务模板才能做到这一点?

将最小端口和最大端口作为两个不同的值放在您的值上。yaml并使用模板上的范围,如下所示:

{{- range untilStep (.Values.config.min_port|int) (.Values.config.max_port|int) 1 }}
- port: {{ . }}
  targetPort: "tcp-{{ . }}"
  protocol: TCP
  name: "tcp-{{ . }}"
{{ -end }}

将最小和最大端口作为两个不同的值放在values.yaml上,并使用模板上的范围,如下所示:

{{- range untilStep (.Values.config.min_port|int) (.Values.config.max_port|int) 1 }}
- port: {{ . }}
  targetPort: "tcp-{{ . }}"
  protocol: TCP
  name: "tcp-{{ . }}"
{{ -end }}

targetPort可以是tcp-x吗?它不应该是服务目标的端口吗?但是您可以分享一些如何定义服务和部署的代码吗?您的解决方案符合我的要求。我试图做的是设置一个FTP服务,可以使用50000到50100的端口访问该服务。服务需要这些端口用于数据,端口21用于控制连接。我使用hostNetwork运行pod:真正的意思是它绑定在主机ip上。但是如果我没有LB Service\IP,那么我想我需要在所有节点上打开这些端口,因为POD可能会在不同的节点上结束。因此,我想我们可以将其设置为一个服务,但不确定我的方法是否正确。targetPort是否可以是tcp-x?它是否应该是服务targetsyes的端口,但您能否分享一些如何定义服务和部署的代码?您的解决方案符合我的要求。我试图做的是设置一个FTP服务,可以使用50000到50100的端口访问该服务。服务需要这些端口用于数据,端口21用于控制连接。我使用hostNetwork运行pod:真正的意思是它绑定在主机ip上。但是如果我没有LB Service\IP,那么我想我需要在所有节点上打开这些端口,因为POD可能会在不同的节点上结束。所以我想我们可以将其设置为一项服务,但不确定我的方法是否正确