Kubernetes 컨테이너 런타임 추천(containerd, CRI-O, Docker Engine)

반응형

 

 

Kubernetes에서 더이상 Docker shim을 사용하지 않아 containerd, CRI-O 와 같은 런타임만 필요로 한다.

 

 

그래도 Docker를 쓰는 김에 Docker Engine을 컨테이너 런타임으로 사용했었는데

 

kubeadm init을 하면 unknown service runtime.v1.RuntimeService 에러가 발생해서

 

설정파일을 삭제하는 등의 귀찮은 작업을 해야하고, 그마저도 에러가 많이 발생해서 CRI-O로 바꿨다.

 

 

 

아래는 CRI-O 설치 방법이다.

 

https://github.com/cri-o/packaging/blob/main/README.md#usage

 

packaging/README.md at main · cri-o/packaging

CRI-O deb and rpm packages. Contribute to cri-o/packaging development by creating an account on GitHub.

github.com

 

 

 

나는 Ubuntu를 사용해서 deb packages 부분을 참고했다.

 

 

 

Install the dependencies for adding repositories

apt-get update
apt-get install -y software-properties-common curl

 

 

Add the Kubernetes repository

curl -fsSL https://pkgs.k8s.io/core:/stable:/$KUBERNETES_VERSION/deb/Release.key |
    gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/$KUBERNETES_VERSION/deb/ /" |
    tee /etc/apt/sources.list.d/kubernetes.list

 

 

Add the CRI-O repository

curl -fsSL https://pkgs.k8s.io/addons:/cri-o:/stable:/$CRIO_VERSION/deb/Release.key |
    gpg --dearmor -o /etc/apt/keyrings/cri-o-apt-keyring.gpg

echo "deb [signed-by=/etc/apt/keyrings/cri-o-apt-keyring.gpg] https://pkgs.k8s.io/addons:/cri-o:/stable:/$CRIO_VERSION/deb/ /" |
    tee /etc/apt/sources.list.d/cri-o.list

 

 

Install the packages

apt-get update
apt-get install -y cri-o kubelet kubeadm kubectl

 

 

Start CRI-O

systemctl start crio.service

 

 

Bootstrap a cluster

swapoff -a
modprobe br_netfilter
sysctl -w net.ipv4.ip_forward=1

kubeadm init

 

 

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유