728x90
이번 단계에서는 K3s를 설치하고, 설정하는 시간을 가져보려고 합니다.
K3s 클러스터 설치
k3s-node1 (마스터 노드)에 K3s 설치
ip a // 해당 명령어로 interface 확인
...
inet 192.168.0.200/24 brd 192.168.0.255 scope global enp6s18 // 끝부분 enp6s18 확인
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --write-kubeconfig-mode 644 --node-ip 192.168.0.200 --flannel-iface enp6s18" sh -
위 명령어를 사용해서 K3s 서버를 설치합니다.
sudo systemctl status k3s.service
위 명령어를 통해, k3s가 잘 작동하고 있는지 확인을 해봅니다.
return 받는 정보중 Active가 Running으로 뜨면 잘 되고 있는 상태입니다.
만약 다른 상태로 뜨고 있다면 sudo journalctl -u k3s.service --since "10 minutes ago" --no-pager
또는 sudo journalctl -u k3s.service -f
를 통해 로그를 확인해봐야 합니다.
sudo mkdir -p $HOME/.kube
sudo cp /etc/rancher/k3s/k3s.yaml $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
export KUBECONFIG=$HOME/.kube/config
echo "export KUBECONFIG=$HOME/.kube/config" >> ~/.bashrc
source ~/.bashrc
kubectl get nodes
위 명령어를 사용하여 현재 로그인한 사용자가 sudo 없이 kubectl을 사용하기 위한 설정을 진행되며, 현재 k3s-node1의 status를 반환하는데, 이때 Ready 상태로 보여야 합니다.
마지막으로 클러스터 조인을 위해 토큰을 확인합니다.
sudo cat /var/lib/rancher/k3s/server/node-token
위 명령어를 얻은 토큰을 따로 보관해야 합니다. 해당 토큰은 node2에 k3s를 설치할 때 사용됩니다.
k3s-node2(워커 노드)에 K3s 설치
curl -sfL https://get.k3s.io | K3S_URL=https://192.168.0.50:6443 K3S_TOKEN="<복사해둔_노드토큰값>" INSTALL_K3S_EXEC="agent --node-ip 192.168.0.201 --flannel-iface enp6s18" sh -
위 명령어를 사용해서 node2에도 K3s를 설치합니다.
확인
kubectl get nodes -o wide
k3s-node1으로 돌아온 후, 위 명령어를 입력합니다.
그리고 다음 사항들이 목록에 잘 보이는지 확인합니다.
- NAME: k3s-node1과 k3s-node2가 모두 목록에 보이는지.
- STATUS: 두 노드 모두 Ready 상태인지. (만약 NotReady라면 잠시 기다리거나, 해당 노드의 K3s 에이전트 로그 sudo journalctl -u k3s-agent.service -f를 확인해야 합니다.)
- ROLES: k3s-node1은 control-plane, master (또는 유사한 마스터 역할)로, k3s-node2는 <none> (워커 노드) 또는 agent 등으로 표시되는지.
- INTERNAL-IP: 각 노드의 LAN IP가 정확히 표시되는지.
반응형
'Server > Infra' 카테고리의 다른 글
N100 미니PC를 이용한 나만의 서버 구축기 - 2 / VPN 설정 (0) | 2025.05.27 |
---|---|
N100 미니PC를 이용한 나만의 서버 구축기 - 1 / Proxmox 설정 (1) | 2025.05.27 |
SQS 메시지를 한 번만 처리하기 위한 고민 (FIFO, DB 멱등성, 그리고 현실적 고려사항) (0) | 2025.05.13 |
SQS 메시지 256KB 한도 해결하기: Extended Client + S3로 Oversize 대응하는 법 (0) | 2025.05.12 |
Provisioned와 Reserved Concurrency를 활용한 AWS Lambda 최적화 (2) | 2024.10.27 |