kubeadm
1 kubeadm
- 레퍼런스
- 쿠버네티스는 일반적인 서버 클러스터 환경에서도 쿠버네티스를 쉽게 설치할 수 있는 kubeadm이라는 관리 도구를 제공한 다
- kubeadm은 쿠버네티스 커뮤니티에서 권장하는 설치 방법 중 하나이다
- 온프레미스 환경, 클라우드 인프라 환경에 상관없이 일반적인 리눅스 서버라면 모두 사용할 수 있다
- Minikube, kubespary와 같은 설치 도구도 내부적으로 kubeadm을 사용하고 있다.
1.1 사전조건
- 레퍼런스
- 리눅스 호스트
- 머신 당 2기가 이상의 메모리
- 머신 당 2개 이상의 CPU
- 클러스터를 구성하는 머신들의 네트워크
- 유니크한 호스트 이름, MAC 주소, product_uuid
- 특정 포트를 오픈해야 함
- Swap disabled
MAC address and product_uuid 확인하기
ip link
: MAC 주소를 확인한다.sudo cat /sys/class/dmi/id/product_uuid
: product_uuid를 확인한다.
포트 확인하기
nc 127.0.0.1 6443
- required ports 쿠버네티스에서 필요한 포트를 여기서 확인한다.
- nc 명령어로 포트가 열려있는지 확인한다.
2 공통 설치
- 클러스터를 구성하는 모든 노드에 kubeadm, kubelet, kubectl, docker runtime을 설치한다.
2.1 Installing a container runtime
- 레퍼런스
- container runtime interface의 여러 구현체 중 하나를 선택해 사용할 수 있다.
- container runtime을 지정하지 않으면 kubeadm이 자동으로 설치된 container runtime 감지한다.
- 여러 container runtime 또는 container runtime이 감지되지 않으면 kubeadm은 예러를 던진다.
- 쿠버네티스 1.26에서는 컨테이너 런타임 인터페이스(CRI) 요구사항을 만족하는 런타임을 사용해야 한다.
2.1.1 Docker
참고
도커 엔진은 쿠버네티스와 함께 작동하기 위한 요구 사항인 CRI를 구현하지 않았다. 이러한 이유로 추가 서비스 cri-dockerd도 설치해야 한다.
Set up the repository
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release