Exercise 2.2: Deploy a New Cluster

  1. CP로 SSH 접속

    ssh student@CP_IP_ADDRESS
  2. 컨트롤 플레인(마스터 노드) 구성 스크립트 실행

    {
        wget https://raw.githubusercontent.com/youngwjung/lf-training/main/LFD459/v1.24.1/solutions/s_02/k8scp.sh
        bash k8scp.sh | tee $HOME/cp.out
    }
  3. 새로운 터미널을 열고 Worker로 SSH 접속

    ssh student@WORKER_IP_ADDRESS
  4. Worker 노드 구성 스크립트 실행

    {
        wget https://raw.githubusercontent.com/youngwjung/lf-training/main/LFD459/v1.24.1/solutions/s_02/k8sWorker.sh
        bash k8sWorker.sh | tee $HOME/worker.out
    }
  5. CP 노드에 연결된 터미널로 이동

  6. Worker 노드 조인 명령어 생성

    kubeadm token create --print-join-command --ttl 0
  7. Worker 노드에 연결된 터미널로 이동해서 위의 명령어를 실행하고 나온 명령어를 루트 권한으로 (sudo) 실행

  8. CP 노드에 연결된 터미널로 이동

  9. kubectl 명령어에 대한 bash completion 설정

    {
        echo 'source <(kubectl completion bash)' >>~/.bashrc
        source <(kubectl completion bash)
    }
  10. Node 상태 확인

    kubectl get node
  11. Node에 부여된 Taint 확인

    kubectl get nodes \
    -o=custom-columns=NodeName:.metadata.name,TaintKey:.spec.taints[*].key,TaintValue:.spec.taints[*].value,TaintEffect:.spec.taints[*].effect
  12. Node에 부여된 Taint 삭제

    {
        kubectl taint node node-role.kubernetes.io/master- --all
        kubectl taint node node-role.kubernetes.io/control-plane- --all
    }
  13. Node에 부여된 Taint 확인

    kubectl get nodes \
    -o=custom-columns=NodeName:.metadata.name,TaintKey:.spec.taints[*].key,TaintValue:.spec.taints[*].value,TaintEffect:.spec.taints[*].effect

Last updated