CRI-O 설치
목표
kubernetes 설치 시 container runtime tool을 cri-o로 사용하기 위해
cri-o 설치 방법을 알아봄.
Test 환경
OS = CentOS 7
설치는 root 계정으로 진행함.
[주의]
CRI-O 메이저와 마이너 버전은 쿠버네티스 메이저와 마이너 버전이 일치해야 함.
CRI-O란?
docker가 deprecated 되면서 인지도가 더 올라가고 있는 container runtime tool로
레드햇, 인텔, SUSE, Hyper, IBM 등의 관리자와 컨트리뷰터들이 커뮤니티 중심으로 개발된 오픈소스 프로젝트임 .
OCI와 CRI 표준을 준수하고 있음.
1. yum update
[명령어]
yum update
2. 커널 모듈 로딩 설정
systemd를 사용하는 모든 linux에서 사용가능한 방법으로
/etc/modules-load.d 경로에
[name].conf 파일명으로
원하는 모듈 정보를 등록하면
부팅 시 자동으로 load함.
kubernetes 에서 container runtime tool로 cri-o를 사용하기 위한
사전 작업으로 overlay와 br_netfilter 커널 모듈을 로딩해줘야함.
[conf파일 생성 명령어]
cat <<EOF | sudo tee /etc/modules-load.d/crio.conf
overlay
br_netfilter
EOF
[커널 모듈 등록 명령어]
sudo modprobe overlay
sudo modprobe br_netfilter
[결과]
[systemd란?]
PID가 1인 프로세스로 부팅부터 서비스 관리, 로그 관리 등
시스템 전반적인 영역을 관리하는 프로세스
[overlay란?]
file system과 관련있는 linux kernel 모듈
참고 : https://docs.docker.com/storage/storagedriver/overlayfs-driver/
[br_netfilter란?]
network 관련 linux kernel 모듈
3. 재기동이 커널모듈이 유지되도록 설정
[설정 파일 생성 명령어]
cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF
[적용 명령어]
sysctl --system
[결과]
4. CentOS에 CRI-O 설치
CRI-O 메이저와 마이너 버전은 kubernetes 메이저와 마이너 버전이 일치해야 함.
2021-09-28 시점 현재 kuberentes 최신 version은 1.22 version임으로
CRI-O 1.22 version으로 설치해야함.
CRI-O 1.22 version으로 설치를 위해
먼저 환경변수 version을 설정함.
그리고 os 를 확인하기 위해 os 환경변수도 설정함
현재 test os는 centos 7임으로 centos 7으로 설정함.
[version 환경변수 설정]
export VERSION=1.22
export OS=CentOS_7
[cri-o yum repo 등록 명령어]
curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable:cri-o:$VERSION.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:$VERSION/$OS/devel:kubic:libcontainers:stable:cri-o:$VERSION.repo
[확인]
[설치 명령어]
yum install cri-o -y
[cri-o 실행]
systemctl daemon-reload
systemctl enable crio --now
[설치 확인]
정상 설치 확인 완료
참고
https://v1-18.docs.kubernetes.io/ko/docs/setup/production-environment/container-runtimes/
https://kubernetes.io/docs/setup/production-environment/container-runtimes/#cri-o
https://github.com/cri-o/cri-o
'클라우드 > CRI-O' 카테고리의 다른 글
CRI-O 와 함께 사용되는 tool (1) | 2021.10.05 |
---|