containerd 프 록 시 설정

배경
containerd 가 설치 한 환경 은 내부 네트워크 에 있 습 니 다. 외부 네트워크 dockerhub 의 미 러 를 끌 어 올 릴 수 없습니다. 외부 네트워크 미 러 를 끌 어 올 리 기 위해 서 는 containerd 서비스 설정 이 정방 향 대 리 를 설정 하여 containerd 가 프 록 시 를 통 해 외부 네트워크 에 접근 할 수 있 도록 해 야 합 니 다.
프 록 시 서버 구축
프 록 시 서버 선택
프 록 시 서버 는 nginx 와 squid 를 선택 할 수 있 습 니 다.squid 프 록 시 는 https 프 록 시 를 지원 하지만 성능 은 nginx 프 록 시 보다 좋 지 않 습 니 다. nginx 는 기본적으로 https 정방 향 프 록 시 를 지원 하지 않 지만 ngx 를 설치 할 수 있 습 니 다.http_proxy_connect_module 모듈 지원.이번 대 리 는 nginx 를 사용 하여 구축 합 니 다.
nginx https 에이전트 설정
nginx 소스 코드 통합 ngx 컴 파일http_proxy_connect_모듈 모듈
  • 다운로드 ngxhttp_proxy_connect_module 모듈
    # cd /root
    # git clone [email protected]:chobits/ngx_http_proxy_connect_module.git
  • nginx 소스 코드 를 다운로드 하고 컴 파일
    # wget http://nginx.org/download/nginx-1.9.2.tar.gz
    # tar -xzvf nginx-1.9.2.tar.gz
    # cd nginx-1.9.2/
    # patch -p1 < /path/to/ngx_http_proxy_connect_module/patch/proxy_connect.patch
    # ./configure --add-module=/path/to/ngx_http_proxy_connect_module
    # make && make install
  • nginx 설정 예시
    server {
         listen                         3128;
    
         # dns resolver used by forward proxying
         resolver 8.8.8.8;
    
         # forward proxy for CONNECT request
         proxy_connect;
         proxy_connect_allow            443 563;
         # forward proxy for non-CONNECT request
         location / {
             proxy_pass http://$host;
             proxy_set_header Host $host;
         }
     }

    설정 성공 후 nginx 서비스 시작
    # /usr/local/nginx/sbin/nginx

    nginx https 프 록 시 용기 버 전 주소:https://github.com/seamounts/...
    containered 서비스 에이전트 설정
    프 록 시 서버 구축 에 성공 하면 containerd 서 비 스 를 설정 할 수 있 습 니 다.설정 은 다음 과 같 습 니 다:
    # mkdir /etc/systemd/system/containerd.service.d
    # cat > /etc/systemd/system/containerd.service.d/http_proxy.conf << EOF
    > [Service]
    > Environment="HTTP_PROXY=http://:/"
    > EOF
    #
    # #    no_proxy           ip
    # cat > /etc/systemd/system/containerd.service.d/no_proxy.conf << EOF
    > [Service]
    > Environment="NO_PROXY=http://:/"
    > EOF

    컨테이너 서비스 다시 시작
    # systemctl daemon-reload
    # systemctl restart containerd

    재 부팅 후 테스트
    # crictl --debug pull nginx
    DEBU[0000] PullImageRequest: &PullImageRequest{Image:&ImageSpec{Image:nginx,},Auth:nil,SandboxConfig:nil,}
    DEBU[0004] PullImageResponse: &PullImageResponse{ImageRef:sha256:5a3221f0137beb960c34b9cf4455424b6210160fd618c5e79401a07d6e5a2ced,}
    Image is up to date for sha256:5a3221f0137beb960c34b9cf4455424b6210160fd618c5e79401a07d6e5a2ced
    #

    여기까지, containerd 프 록 시 설정 완료

    좋은 웹페이지 즐겨찾기