728x90
목차
포스팅을 시작하며
on-premise 환경에서 구축한 nexus의 docker registry를 사용하기 위해서 https를 http로 바라보게 변경 해야한다.
어떻게 변경할 지 알아보자!
어느 서버에서 설정할까?
쿠버네티스는 master와 worker node로 구성되어 있다. master에서 pod를 실행할 때 registry에서 image를 가져오기 위한 request server는 master가 아닌 pod를 실행한 worker node이다.
이 때문에 docker, containerd 설정은 join된 모든 node에 변경해주어야 한다.
본격적으로 변경해보자!
1) k8s runtime으로 containerd를 사용하는 경우
[root@docker03 /]# vim /etc/containerd/config.toml
``` 아래 내용 추가
[plugins."io.containerd.grpc.v1.cri".registry.configs]
[plugins."io.containerd.grpc.v1.cri".registry.configs."${IP}:5000".tls]
insecure_skip_verify = true
[plugins."io.containerd.grpc.v1.cri".registry.headers]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://registry-1.docker.io"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."${IP}:5000"]
endpoint = ["http://${IP}:5000"]
```
:wq
[root@docker03 ~]# systemctl restart containerd
${IP}는 nexus를 설치한 IP이며 포트는 registry를 생성할 때 지정한 http port이다.
본인 환경과 맞게 변경 후 containerd를 재기동해주면 된다.
2) k8s runtime으로 docker를 사용하는 경우
[root@docker04 /]# vim /etc/docker/daemon.json
``` 아래 내용 입력 후 저장
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"data-root":"/var/lib/docker/",
"insecure-registries": ["${IP}:5000"]
}
```
:wq
[root@docker04 /]# systemctl restart docker
마찬가지로 본인 환경과 맞게 변경 후 docker를 재기동해주면 된다.
* 자료 첨부
728x90
'Infrastructure > Docker & Kubernetes' 카테고리의 다른 글
[kubernetes] CI&CD 3탄 - Argocd 설치 및 로그인 (2) | 2024.04.06 |
---|---|
[kubernetes] CI&CD 1탄 - MSA기반 Gitops 개념 및 프로세스 (0) | 2024.04.06 |
[kubernetes] helm install로 superset 완벽하게 설치하기 (2) | 2024.03.16 |
[kubernetes] on-premise 환경에서 LoadBalancer(metalLB) 설치 따라하기 (0) | 2024.03.16 |
[kubernetes] CentOS에서 rook-ceph 설치 및 삭제하기 (5) | 2024.03.09 |