我尝试使用kubespray安装kubernetes

github repo

无需编辑器即可将clusterip更改为nodeport命令行

kubectl -n kube-system get service kubernetes-dashboard -o yaml > kube-dash-svc.yaml
sed 's/ClusterIP/NodePort/' kube-dash-svc.yaml > new-kube-dash-svc.yaml
kubectl delete svc kubectl delete svc kubernetes-dashboard --namespace kube-system --namespace kube-system
kubectl create -f new-kube-dash-svc.yaml

安装并将clusterIP更改为nodeport之后,我尝试再次安装kubernetes并得到错误消息:

err ='服务\“kubernetes-dashboard \”无效:\ n * metadata.resourceVersion:无效值:\“\”:必须为更新指定\ n * spec.clusterIP:无效值:\“\” :字段是不可变的\ n * spec.ports [0] .nodePort:禁止:当type为'ClusterIP'\ n'“}时可能不使用

如何正确将clusterIP更改为kubespray的nodeport?

谢谢

最佳答案

ClusterIP不能仅通过用NodePort替换ClusterIP来简单地更改为nodeport,因为ClusterIP是默认设置,所以定义中可能根本没有“ClusterIP”。

您应该删除所有涉及“clusterIP / ClusterIP”的内容,然后在适当的位置插入“type:NodePort”,例如:

sed '/clusterIP/d;/ClusterIP/d;/^[ ]*ports:/i \  type: NodePort'

关于kubernetes - 如何正确将clusterIP更改为kubespray的nodeport?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51178975/

10-10 04:29