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

时间:2018-07-04 18:02:43

标签: kubernetes

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

谢谢

1 个答案:

答案 0 :(得分:1)

仅通过将ClusterIP替换为NodePort,就不能简单地将ClusterIP更改为nodeport,因为ClusterIP是默认的,所以定义中可能根本没有'ClusterIP'。

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

   pipeline {
        agent none
        stages {
            stage('Build job 1'){
                build 'Job1' // name of job1
            }
            stage('Run Parallel Builds') {
                parallel {
                    stage('Build job2') {

                        build 'Job2' // name of job2

                    }
                    stage('Build job3') {
                        build 'Job3' // name of job3
                    }
                }
                stage('Build job 4'){
                    build 'Job4' // name of job4
                }
                stage('Build job 5'){
                    build 'Job5' // name of job5
                }
            }
        }
    }