Kubernetes 是否可以在不使用编辑器的情况下将clusterip更改为nodeport命令行?

Kubernetes 是否可以在不使用编辑器的情况下将clusterip更改为nodeport命令行?,kubernetes,Kubernetes,节点端口 这种访问仪表板的方式仅推荐用于单节点设置中的开发环境 编辑kubernetes仪表板服务 $kubectl-n kube系统编辑服务kubernetes仪表板 您应该看到服务的yaml表示。将type:clustrep更改为type:NodePort并保存文件 是否可以在不使用编辑器的情况下将clusterip更改为nodeport命令行? 谢谢 您只需获取此给定服务的YAML即可: kubectl -n kube-system get service kubernetes-dashb

节点端口 这种访问仪表板的方式仅推荐用于单节点设置中的开发环境

编辑kubernetes仪表板服务

$kubectl-n kube系统编辑服务kubernetes仪表板 您应该看到服务的yaml表示。将type:clustrep更改为type:NodePort并保存文件

是否可以在不使用编辑器的情况下将clusterip更改为nodeport命令行?
谢谢

您只需获取此给定服务的YAML即可:

kubectl -n kube-system get service kubernetes-dashboard -o yaml > kube-dash-svc.yaml
进行所需的更改(无需使用编辑器)。 e、 g

删除当前服务:

kubectl delete svc kubernetes-dashboard
最后将这个yaml反馈给Kubernetes控制平面:

kubectl create -f new-kube-dash-svc.yaml

你可以这样改变它

kubectl patch svc kubernetes-dashboard --type='json' -p '[{"op":"replace","path":"/spec/type","value":"NodePort"}]'

kubectl patch svc您可以使用svc-p'{“spec”:{“type”:“NodePort”}}

另外指定一个给定的NodePort:

kubectl patch svc my-service --type='json' -p '[{"op":"replace","path":"/spec/type","value":"NodePort"},{"op":"replace","path":"/spec/ports/0/nodePort","value":30040}]'

下面是从NodePort转换为ClusterIP的反向场景的答案

kubectl patch svc my-service --type='json' -p '[{"op":"replace","path":"/spec/type","value":"ClusterIP"},{"op":"replace","path":"/spec/ports/0/nodePort","value":null}]'

kubectl删除svc kubernetes仪表板——名称空间kube systemOh@software engineer,对不起。我想如果我们对“没有编辑器”的要求非常严格,而
sed
是一个流编辑器,那么这不符合有效的答案。谢谢你指出这一点。你可以用apply-f来代替delete&create!使用--namespace=kube system,否则它会从服务器抛出错误(未找到):deployments.extensions“kubernetes dashboard”未找到此处的最佳答案对我来说,它显示:
服务器错误(BadRequest):无效字符“s”正在查找对象键字符串的开头
@VijayNirmal请将您的命令粘贴到此处@袁文涛 下面是确切的命令
kubectl patch svc kiali-n istio system-p'{“spec”:{“type”:“NodePort”}'
kubectl patch svc my-service --type='json' -p '[{"op":"replace","path":"/spec/type","value":"ClusterIP"},{"op":"replace","path":"/spec/ports/0/nodePort","value":null}]'