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,我正在尝试在特定端口安装带有节点端口的舵图。例如:30005,但舵手忽略节点端口部分 ==> v1/Service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-app NodePort 10.109.69.245 <none> 8080:32146/TCP 0s Myvalues.yaml“服务”部分 我的预期结果: ==> v1/Service

我正在尝试在特定端口安装带有节点端口的舵图。例如:
30005
,但舵手忽略节点端口部分

==> v1/Service
NAME       TYPE      CLUSTER-IP     EXTERNAL-IP  PORT(S)         AGE
hello-app  NodePort  10.109.69.245  <none>       8080:32146/TCP  0s
My
values.yaml
“服务”部分

我的预期结果:

==> v1/Service
NAME       TYPE      CLUSTER-IP     EXTERNAL-IP  PORT(S)         AGE
hello-app  NodePort  10.109.69.245  <none>       8080:30005/TCP  0s
==>v1/服务
名称类型CLUSTER-IP外部IP端口年龄
你好,应用程序节点端口10.109.69.245 8080:30005/TCP 0s

显然,您的服务的helm模板中有一个输入错误,或者忽略了变量名区分大小写的事实。请再核对一下

再看一看官方参考图表示例,其中helm模板允许最终用户也可以配置
type
nodePort
,这与helm覆盖的参数(--set)完美配合

在发布安装之前,您可以使用以下命令验证helm呈现的清单文件:

helm template --set service.type=NodePort --set service.nodePort=31000 --debug docs/examples/nginx/
最后一件事:

请确保nodePort指定的节点尚未使用
您可以使用
--server-dry-run
选项和
kubectl
,例如

kubectl apply-f service-31000-nodeport-conflict.yaml——服务器试运行

如果它已经被占用,您将看到与此类似的错误,从API服务器返回:

The Service "release-name-nginx-conflict" is invalid: spec.ports[0].nodePort: Invalid value: 31000: provided port is already allocated

你能分享你的服务定义吗?很抱歉,我忘了在我的/template/Service.yaml中添加以下端口:-端口:{{.Values.Service.port}}节点端口:{.Values.Service.nodePort}}协议:TCP目标端口:8080
helm template --set service.type=NodePort --set service.nodePort=31000 --debug docs/examples/nginx/
The Service "release-name-nginx-conflict" is invalid: spec.ports[0].nodePort: Invalid value: 31000: provided port is already allocated