kubenetes 1.4のMasterノードをクローンしてnodeノードに変更し、nodeクエリの問題解決

1937 ワード

背景情報
KubernetesはVmareの仮想マシンにインストールされているので、まずmasterノードをインストールし、サービス検証OKで、masterノードをクローンし、nodeノードに改造し、joinからmasterノードに変更します.
操作手順:
  • 既存kubeモジュール
    kubectl delete -f /etc/kubernetes/manifests
    systemctl stop kubelet;
    docker rm -f -v $(docker ps -q);
    find /var/lib/kubelet | xargs -n 1 findmnt -n -t tmpfs -o TARGET -T | uniq | xargs -r umount -v;
    rm -r -f /etc/kubernetes /var/lib/kubelet /var/lib/etcd;
  • を停止する.
  • はノード
  • として起動する.
               
    systemctl start kubelet
    kubeadm join  

             3. joinからmasterノード
     root@ubuntu:/etc/kubernetes# kubeadm join --token c54bcd.35a9ea8872b99b35 192.168.170.132
     validating provided token
     created cluster info discovery client, requesting info from "http://192.168.170.132:9898/cluster-info/v1/?token-id=c54bcd"
     cluster info object received, verifying signature using given token
     cluster info signature and contents are valid, will use API endpoints [https://192.168.170.132:443]
     created API client to obtain unique certificate for this node, generating keys and certificate signing request
     received signed certificate from the API server, generating kubelet configuration
     created "/etc/kubernetes/kubelet.conf"
    
    
    Node join complete:
    * Certificate signing request sent to master and response
      received.
    * Kubelet informed of new secure connection details.
    
    
    Run 'kubectl get nodes' on the master to see this machine join.
    

           4.マスターノードでkubectl get nodesで表示すると、マスターノードのnodeのみがクエリーされます.
    考慮すると、クローン化されているため、2つのノードのホスト名が同じである可能性があるため、nodeノードのホスト名を変更してマシンを再起動した.
       
          5.masterノードでnodesを再クエリーすると、次のようにすべての情報が得られます.
    root@ubuntu:/etc/kubernetes/manifests# kubectl get nodes
    NAME      STATUS    AGE
    ubuntu    Ready     1d
    ubuntu2   Ready     1h