我尝试使用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/