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를 재기동해주면 된다.

     

    * 자료 첨부

    daemon.json
    0.00MB
    config.toml
    0.01MB

    728x90
    TOP