ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 쿠버네티스 (k8s) 워커노드 추가하기
    Server 2025. 6. 5. 17:00

    저번에 단일노드로 쿠버네티스를 설정했습니다. 그렇게 계속 사용할 순 없고 슬슬 노드를 추가해야겠지요...?

    그리하여!

    이번엔 사무실에 셋팅해놓은 추가적인 서버를 워커노드로 추가해보겠습니다. 추가하려는 노드들도 이전과 비슷한 작업을 우선 거쳐야 합니다. 모든 명령어는 워커노드에서 실행시켜주시면 됩니다.

     

    1. swap 메모리 비활성화
    sudo swapoff -a
    sudo sed -i '/ swap / s/^/#/' /etc/fstab
    2. 커널 모듈 활성화
    sudo modprobe overlay && sudo modprobe br_netfilter
    3. 아이피(IP) 설정 파일
    # /etc/sysctl.d/99-k8s.conf
    net.bridge.bridge-nf-call-iptables = 1	
    net.ipv4.ip_forward = 1	
    net.bridge.bridge-nf-call-ip6tables = 1

    /etc/sysctl.d/ 경로에 만들어주면 됩니다.

    sudo sysctl --system

    그리고 나서 적용되게 해주시면 되구요.

    4. Containerd Install
    sudo apt-get update && sudo apt-get install -y containerd
    sudo mkdir -p /etc/containerd
    sudo containerd config default | sudo tee /etc/containerd/config.toml
    sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
    sudo systemctl restart containerd && sudo systemctl enable containerd
    5. kubeadm · kubelet · kubectl install
    # ① 키 보관 디렉터리 생성
    sudo install -m 0755 -d /etc/apt/keyrings
    
    # ② 커뮤니티 저장소용 GPG 키 내려받아 dearmor
    curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.33/deb/Release.key |
      sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-archive-keyring.gpg
    sudo chmod go+r /etc/apt/keyrings/kubernetes-archive-keyring.gpg
    
    # ③ APT 저장소 정의
    echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] \
    https://pkgs.k8s.io/core:/stable:/v1.33/deb/ /" | \
      sudo tee /etc/apt/sources.list.d/kubernetes.list
      
    sudo apt-get update
    
    # (가장 간단) 최신 패치 수준 설치
    sudo apt-get install -y kubelet kubeadm kubectl
    
    # (지정 버전이 필요할 때) 먼저 버전을 확인하고 설치
    apt-cache madison kubelet | head        # 1.33.1-1.1 같은 형식 확인
    sudo apt-get install -y kubelet=1.33.1-1.1 kubeadm=1.33.1-1.1 kubectl=1.33.1-1.1
    6. Version Hold
    sudo apt-mark hold kubelet kubeadm kubectl
    7. Cluster Join
    # control plane node
    sudo kubeadm token create --print-join-command

    이 명령어는 control plane node에서 진행해주셔야 합니다. 클러스터로 가입할 키를 발급하는 명령어입니다. 그럼 위 결과로 kubeadm join <IP>:<port> —token :~ 와 같은 형태가 나타나게 되구요. 잘 복사해주세요.

    # worker node
    sudo kubeadm join ~~~
    sudo systemctl restart kubelet

    워커 노드에서 복사한 구문을 입력해주시면 됩니다.

    8. Confirm Node
    kubectl get nodes -o wide

    control plane node에서 이렇게 확인해보시면 클러스터로 추가된걸 확인하실 수 있습니다.

    댓글

#dev-hahm#