오류 해결

[K8s / 오류] x509 certificate signed by unknown authority

cob 2024. 12. 13. 16:18

 

 

1. Issue

[ $ sudo kubeadm init ] 초기화 작업 중 인증서 오류 발생

 

 

 

2. Problem

이미지 레지스트리에 접근하려고 할 때, 해당 레지스트리의 SSL 인증서가 시스템에서 신뢰할 수 없는 인증기관(CA)으로 서명되어 있으면 이 오류가 발생한다.

 

 

 

3. Solution

인증서 무시 설정을 통해서 Docker, Containerd가 인증서를 무시하고 접근하게 한다.

 

 

3-1. Docker에서 인증서 무시 설정

insecure-registries 항목에 내가 접근하는 레지스트리 URL를 등록한다.
# 도커는 해당 설정 파일을
vi /etc/docker/daemon.json

# daemon.json 수정
{
 "insecure-registries": ["10.254.241.158:8181","registry.k8s.io","quay.io"],
 "exec-opts": ["native.cgroupdriver=systemd"],
 "log-driver": "json-file",
 "log-opts": {
   "max-size": "100m"
 },
 "storage-driver": "overlay2"
}

# 도커 재시작
sudo systemctl restart docker

 

 

3-2. Containerd에서 인증서 무시 설정

endpoint와  insecure_skip_verify를 설정해준다.
# Containerd 설정
vi /etc/containerd/config.toml


#### config.toml ####
...
[plugins]
	...
    [plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"]
          endpoint = ["https://registry.k8s.io"]
        [plugins."io.containerd.grpc.v1.cri".registry.configs."registry.k8s.io".tls]
          insecure_skip_verify = true
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."10.254.241.158:8181"]
          endpoint = ["http://10.254.241.158:8181"]
        [plugins."io.containerd.grpc.v1.cri".registry.configs."10.254.241.158:8181".tls]
          insecure_skip_verify = true
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."quay.io"]
          endpoint = ["quay.io"]
        [plugins."io.containerd.grpc.v1.cri".registry.configs."quay.io".tls]
          insecure_skip_verify = true
        [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry-1.docker.io"]
          endpoint = ["registry-1.docker.io"]
        [plugins."io.containerd.grpc.v1.cri".registry.configs."registry-1.docker.io".tls]
          insecure_skip_verify = true
      ...

 

 

반응형