1. 마스터 노드 초기화
마스터 노드로 사용하고 싶은 서버에 해당 명령어를 실행하고, 마스터 노드로 설정한다. 5분 정도 기다리면 해당 설정이 완료된다.
최초의 한 번만 초기화를 진행하고 이후 쿠버네티스를 사용할 때는 sudo systemctl restart kubelet 명령어를 통해 실행 시킨다.
sudo kubeadm init
설정이 완료되면 가장 아래에 워크 노드와 마스터 노드가 조인할 수 있는 명령어가 출력된다. (복사)
토큰 재발급이 필요하거나, 확인하기 위해서 는 아래 명령어를 사용한다.
# token 재발급 받는 방법 (마스터 노드)
- 토큰 리스트 확인하기: sudo kubeadm token list
- 토큰 재발급하기: sudo kubeadm token create --print-join-command
마스터 노드에 쿠버네티스 유저 설정
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
# 노드 목록 확인
kubectl get nodes
- 설정이 정상적으로 되었으면 마스터 노드가 조회된다.
2. 워커 노드 조인
[1. 마스터 노트 초기화]에서 복사한 명령어를 실행시킨다. 워커 노드로 사용하고 싶은 서버에 해당 명령어를 실행. 콘솔에 출력된 토큰과 hash 값을 사용해 조인하는 방법이다. 최초에 한 번만 설정하고 이후에는 kubeadm join 명령어로 접속 가능하다.
sudo kubeadm join 192.168.64.2:6443 --token 3jtwb0.yawttlhxpql11e8l --discovery-token-ca-cert-hash sha256:e7b5ea7903ac2734a721131e51a3df52e3487d59343e748f97ded9a6ba0e5c22
- 줄이 길면 자동으로 엔터가 들어가는데 엔터가 입력되지 않게 주의해서 명령어를 실행시킨다.
- 관리자 권한으로 실행(sudo)
- 6443 포트는 노트가 조인할 때 기본으로 설정되는 포트로 마스터 노드에서 6443 포트가 열려있어야 조인이 가능하다.
마스터 노드에서 확인 아래와 같이 조회가 된다면 클러스터 구성까지는 완료가 되었다. 노드 상태의 NotReady를 Ready 상태로 변경하기 위해서 파드 네트워크 설정이 필요하다.
# 만약, init이나 join 설정을 잘못 했다면 아래 명령어로 초기화 한다.
sudo kubeadm reset
3. 파드 네트워크 설정 (cilium)
Cilium은 쿠버네티스 클러스터에서 네트워크 보안을 관리하기 위한 솔루션이다. 파드 컨테이너들이 네트워크 통신을 할 때 사용하게 된다.
해당 설정은 마스터 노드에서 설정하면 워커 노드에도 적용된다.
curl -LO https://github.com/cilium/cilium-cli/releases/latest/download/cilium-linux-amd64.tar.gz
sudo tar xzvfC cilium-linux-amd64.tar.gz /usr/local/bin
rm cilium-linux-amd64.tar.gz
cilium install
- 서버 아키텍처에 맞게 사용 ex) aarch64인 경우 -amd64를 -arm64로 변경하여 설치한다. 버전 확인 명령어는 uname -m
설치가 정상적으로 완료되었으면 STATUS가 Ready로 변경되어 있는 걸 볼 수 있다.
# cilium 상태 확인
cilium status
반응형
'DevOps > Docker, K8s' 카테고리의 다른 글
[k8s] 쿠버네티스의 파드(Pod) 조회(상세조회) (0) | 2024.10.23 |
---|---|
[k8s] 쿠버네티스에 컨테이너 배포 방법 (0) | 2024.10.22 |
[k8s] 쿠버네티스 사용을 위한 kubeadm, kubelet 및 kubectl 설치 방법 (0) | 2024.04.10 |
[Docker] Private 레지스트리 구축 및 사용 방법 (0) | 2024.03.18 |
[Docker] 이미지 Push 방법 (0) | 2024.03.15 |