Kubernetes 노드의 명령은 셸 프록시를 사용할 수 있지만 해당 노드의 Pod에는 프록시 환경이 없습니다. 컨테이너의 환경은 이미지와 Pod 구성으로 정의됩니다.

이 변수를 지원하는 애플리케이션이라면 기존 컨테이너 항목에 env 목록을 추가합니다.

env:
  - name: HTTP_PROXY
    value: http://proxy.example:8080
  - name: HTTPS_PROXY
    value: http://proxy.example:8080
  - name: NO_PROXY
    value: localhost,127.0.0.1,kubernetes.default.svc,.svc,.cluster.local

Deployment에서는 spec.template.spec.containers의 해당 컨테이너 아래에 둡니다. 새 Pod가 이를 받도록 일반적인 롤아웃을 통해 워크로드를 업데이트합니다. 실제 클라이언트가 요구하면 소문자 이름도 제공합니다.

우회 목록은 시작 예시일 뿐 클러스터의 모든 경로 목록이 아닙니다. 클러스터의 실제 DNS 접미사와 내부 목적지를 사용하십시오. 서비스 IP를 사용하는 애플리케이션은 클라이언트가 지원하는 구문으로 실제 서비스 범위가 필요할 수 있습니다.

init 컨테이너에는 자체 컨테이너 사양이 있습니다. 외부 다운로드를 수행할 때 원하는 구성을 그곳에 추가합니다. 공개 HTTP 다운로드의 경우 HTTP 프록시 목록의 엔드포인트가 이러한 컨테이너 환경 값의 후보입니다.

이미지 가져오기는 애플리케이션이 실행되기 전에 발생하며 노드의 컨테이너 런타임이 수행합니다. Pod env로는 그 이전의 레지스트리 연결을 구성할 수 없습니다.

마지막으로 HTTP 프록시 변수는 이를 사용하는 클라이언트에만 영향을 줍니다. Pod에서 나오는 임의의 데이터베이스, UDP 또는 기타 소켓 트래픽을 리디렉션하지 않습니다.

관련 글