kubeadmを使用してkubernetes単一プライマリクラスタ-ubuntuを作成する

4599 ワード

use kubeadmin install k8s in ubuntu
環境の準備
  • 少なくとも2台のマシンまたは仮想マシン(1つのmaster、複数のworker)
  • 1台あたり2 GBのメモリまたはそれ以上の
  • 各機器2 CPUコアまたはそれ以上の
  • クラスタ内の全ての機器のネットワーク同士が相互に接続可能(パブリックネットワークとイントラネットワークの両方が可能)
  • .
  • Swapスワップパーティションを無効にします.

  • ソフトウェアのインストール
    #          
    apt-get update && apt-get install -y apt-transport-https curl
    curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
    cat </etc/apt/sources.list.d/kubernetes.list
    deb https://apt.kubernetes.io/ kubernetes-xenial main
    EOF
    apt-get update
    apt-get install -y kubelet kubeadm kubectl
    apt-mark hold kubelet kubeadm kubectl
    

    master node初期化
    #        master
    #   master    
    kubeadm init
    

    実行に成功するとtokenが出力されます.他のworkerは、このtokenを使用してkubernetesクラスタに追加します.
    Then you can join any number of worker nodes by running the following on each as root: kubeadm join 10.176.7.9:6443 --token hh6cfg.ijmppt2fpry2dqr9 --discovery-token-ca-cert-hash sha256:c862aa8398c66300678371f1276cf6ffe02d589a17dc722c4eedb9ccd1db0282
    worker node kubernetesクラスタへの参加
    #  worker    
    kubeadm join 10.176.7.9:6443 --token hh6cfg.ijmppt2fpry2dqr9 \
        --discovery-token-ca-cert-hash sha256:c862aa8398c66300678371f1276cf6ffe02d589a17dc722c4eedb9ccd1db0282
    

    tokenは24時間後に期限が切れ、tokenを再取得できます
    #     token
    kubeadm token create
    #   ca  sha256  hash 
    openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
    # join   
    kubeadm join 10.176.7.9:6443 --token {token} --discovery-token-ca-cert-hash sha256:{hash}
    

    Podネットワークプラグインのインストール-weave
    #   master    
    export kubever=$(kubectl version | base64 | tr -d '
    ') wget https://cloud.weave.works/k8s/net?k8s-version=$kubever -O weave.yaml kubectl apply -f weave.yaml

    インストールに成功したことを確認
    kubernetes@km:~$ kubectl get nodes
    NAME   STATUS   ROLES    AGE   VERSION
    km     Ready    master   58m   v1.16.2
    kw1    Ready       41m   v1.16.2
    kw2    Ready       39m   v1.16.2
    
    kubernetes@km:~$ kubectl get pods --all-namespaces -o wide
    NAMESPACE     NAME                         READY   STATUS    RESTARTS   AGE   IP              NODE   NOMINATED NODE   READINESS GATES
    kube-system   coredns-5644d7b6d9-pfp4r     1/1     Running   0          58m   10.32.0.2       km                
    kube-system   coredns-5644d7b6d9-w98kd     1/1     Running   0          58m   10.32.0.3       km                
    kube-system   etcd-km                      1/1     Running   0          57m   10.176.7.9      km                
    kube-system   kube-apiserver-km            1/1     Running   0          57m   10.176.7.9      km                
    kube-system   kube-controller-manager-km   1/1     Running   0          57m   10.176.7.9      km                
    kube-system   kube-proxy-2nnzx             1/1     Running   0          42m   10.176.9.51     kw1               
    kube-system   kube-proxy-bxhf2             1/1     Running   0          58m   10.176.7.9      km                
    kube-system   kube-proxy-mzqx6             1/1     Running   0          39m   10.176.12.157   kw2               
    kube-system   kube-scheduler-km            1/1     Running   0          57m   10.176.7.9      km                
    kube-system   weave-net-fjzkw              2/2     Running   0          39m   10.176.12.157   kw2               
    kube-system   weave-net-gjpnn              2/2     Running   0          42m   10.176.9.51     kw1               
    kube-system   weave-net-pk682              2/2     Running   0          53m   10.176.7.9      km                
    
    

    一般ユーザーを使用してkubernetesにアクセス
    #  master    
    #        
    mkdir $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    

    その後、configファイルの内容を他のworkerノード、または個人PCにコピーし($HOME/.kube/config)、workerおよび個人PC上でkubectlコマンドを実行できます.
    link
    https://kubernetes.io/zh/docs/setup/independent/install-kubeadm/https://kubernetes.io/zh/docs/setup/independent/create-cluster-kubeadm/https://blog.csdn.net/mailjoin/article/details/79686934