이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

클라우드/CRI-O

CRI-O 설치

이쿠우우 2021. 10. 5. 20:47
반응형

 

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를 사용하기 위한 

사전 작업으로 overlaybr_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