containerd - insecure registry 옵션 설정
3 min readFeb 23, 2021
Kubernetes 1.22 부터 지원하지 않는다는 Docker(dockershm runtime) 대신 ContainerD 설치 테스트를 진행 하였다. 설치는 kubespray 통해서 진행하여 어렵지 않게 가능하다.
Docker 대신 사용하려면 docker 사용 시 설정해 주었던 insecure registry 옵션을 똑같이 적용하면 된다. (거의 유일한 설정이 아닐까 싶다.)
private registry dns name /etc/hosts 등록
172.x.x.x harbor.spk.io
/etc/containerd/config.toml 파일 수정
[root@node1 ~]# cat /etc/containerd/config.toml
# 다른 설정들과 동일하게 containerd도 /etc/ 밑에 설정 파일이 있다.[plugins.cri.registry]
[plugins.cri.registry.mirrors]
[plugins.cri.registry.mirrors."docker.io"]
endpoint = ["https://mirror.gcr.io","https://registry-1.docker.io","https://harbor.spk.io"]
[plugins.cri.registry.configs."harbor.spk.io".tls]
insecure_skip_verify = true# mirrors 설정은 굳이 필요 없기는 하다. 도커 허브(docker.io) 이미지를 2번째 pull 부터는 내부 private registry 에서 가져오겠다는 설정이다.
containerd 서비스 리스타트
[root@node1 ~]# systemctl restart containerd
이미지 Pull 하면 잘된다.
[root@node1 ~]# crictl pull harbor.spk.io/dz/nginx-dz:1.0
Image is up to date for sha256:8dcc78d2681ddafdcae019a5b277c05dca75ec46c4e4c2e05214f29739510fbb[root@node1 ~]# crictl images
IMAGE TAG IMAGE ID SIZE
(생략)
harbor.spk.io/dz/nginx-dz 1.0 8dcc78d2681dd 210MB
harbor.spk.io/dz/tomcat 1.0 985bb37fccb20 389MB
이미지 관련 명령어인 crictl만 몇가지 익히면 kubernetes run time 용으로 docker 대신 containerd를 사용해도 이상 없을 것 같다. (runtime은 사실 운영 중 이슈가 거의 없기는 하다.)
참조