Develop
[k8s] kubeadm 개념 및 명령어 정리
너드나무
2024. 10. 2. 22:48
반응형
Kubeadm 개념 및 설치
- Kubeadm은 최소한의 설정으로 쿠버네티스 클러스터를 부트스트랩할 수 있도록 설계된 도구입니다.
- 클러스터의 상태 관리나 모니터링과 같은 추가 기능은 포함되지 않으며, 이러한 기능들은 별도의 애드온이나 고급 도구에서 처리하는 것을 목표로 합니다.
- 제공 기능
- 클러스터 부트스트랩
- kubeadm init과 kubeadm join 명령어를 사용
- 컨트롤 플레인 및 워커 노드를 설정하고 클러스터에 추가
- 클러스터 업그레이드
- kubeadm upgrade를 통해 쿠버네티스 클러스터의 버전을 업그레이드
- 클러스터 초기화 및 구성 관리
- kubeadm config 및 kubeadm certs를 사용하여 클러스터의 설정과 인증서를 관리
- 클러스터 부트스트랩
- Kubeadm 설치
sudo apt update && sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl # 버전 고정
- 마스터노드 초기화
- 쿠버네티스 클러스터의 컨트롤 플레인을 초기화하고, API 서버, etcd, 스케줄러 등의 구성 요소를 설정
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
- 네트워크 플러그인 설치
- Pod 간 통신을 위해 네트워크 플러그인을 설치
- 예시에서는 Calico 플러그인을 사용
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
- 워커노드 연결
- 마스터 노드에서 출력된 kubeadm join 명령어를 워커 노드에서 실행하여 클러스터에 연결
sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
- 클러스터 상태 확인
kubectl get nodes # 모든 노드 상태 확인
- 클러스터 업그레이드
sudo kubeadm upgrade plan # 업그레이드 가능 여부 확인
sudo kubeadm upgrade apply v1.22.0 # 클러스터 업그레이드
1. kubeadm init
- kubeadm init 명령어는 쿠버네티스 컨트롤 플레인 노드를 초기화한다.
- 이 과정에서는 쿠버네티스 API 서버, etcd, 컨트롤러 매니저 및 스케줄러와 같은 주요 컨트롤 플레인 구성 요소를 설정한다.
- 이 명령어를 실행하면 클러스터의 기본 설정이 완료되며, 워커 노드를 연결하기 위한 kubeadm join 명령어가 출력된다.
- 실행 과정
- 클러스터의 기본 구성 요소(쿠버네티스 API 서버, etcd 등)를 설정
- kubeadm join 명령어를 사용하여 워커 노드를 추가할 수 있는 토큰 및 설정 정보 출력
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
2. kubeadm join
- kubeadm join 명령어는 워커 노드를 클러스터에 추가하는 데 사용한다.
- 이 명령어는 kubeadm init 실행 후에 표시되는 명령어를 사용하여 실행한다.
- 실행 과정
- 워커 노드는 제공된 토큰 및 마스터 노드 정보를 기반으로 클러스터에 연결.
- 클러스터의 컨트롤 플레인 노드와 통신하여 작업을 수행할 준비가 완료됨.
sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
3. kubeadm upgrade
- kubeadm upgrade 명령어는 쿠버네티스 클러스터의 버전을 업그레이드할 때 사용된다.
- 컨트롤 플레인과 워커 노드의 쿠버네티스 버전을 일관되게 업그레이드한다.
- 실행 과정
- 업그레이드 가능한 버전을 확인.
- 각 노드의 쿠버네티스 구성 요소를 새로운 버전으로 업그레이드.
sudo kubeadm upgrade plan # 클러스터 업그레이드 계획 확인
sudo kubeadm upgrade apply v1.22.0 # 버전 1.22.0으로 클러스터 업그레이드
4. kubeadm config
- kubeadm config 명령어는 클러스터의 설정을 관리한다.
- 주로 클러스터 초기화 이후 설정을 변경하거나 업그레이드 전에 사용된다.
kubeadm config view # 클러스터의 현재 설정 보기
kubeadm config images list # 쿠버네티스 이미지 목록 보기
5. kubeadm reset
- kubeadm reset 명령어는 kubeadm init 또는 kubeadm join으로 설정된 모든 클러스터 구성을 제거한다.
- 클러스터를 재구성하거나 다른 설정을 적용하기 전에 초기 상태로 되돌릴 때 유용하다.
- 실행 과정:
- 클러스터에서 설정된 쿠버네티스 관련 데이터, 인증 정보 등을 모두 제거
- 노드가 클러스터에서 분리되고 초기 상태로 복원됨
sudo kubeadm reset # 모든 설정 초기화
6. kubeadm certs
- kubeadm certs 명령어는 쿠버네티스 클러스터에서 사용되는 인증서를 관리한다.
kubeadm certs check-expiration # 인증서 만료일 확인
kubeadm certs renew all # 모든 인증서 갱신
7. kubeadm version
- kubeadm version 명령어는 현재 설치된 kubeadm 버전을 출력한다.
kubeadm version # kubeadm 버전 확인
728x90
반응형