24.2. 클러스터 전체 프록시 사용
프록시
오브젝트는 클러스터 전체 송신 프록시를 관리하는 데 사용됩니다. 프록시를 구성하지 않고 클러스터를 설치하거나 업그레이드하면 프록시 오브젝트 가
계속 생성되지만 spec
은 nil이 됩니다. 예를 들면 다음과 같습니다.
apiVersion: config.openshift.io/v1 kind: Proxy metadata: name: cluster spec: trustedCA: name: "" status:
클러스터 관리자는 이 cluster
Proxy
오브젝트를 수정하여 OpenShift Container Platform의 프록시를 구성할 수 있습니다.
cluster
라는 Proxy
오브젝트만 지원되며 추가 프록시는 생성할 수 없습니다.
클러스터 전체 프록시를 활성화하면 MCO(Machine Config Operator)가 노드 재부팅을 트리거합니다.
사전 요구 사항
- 클러스터 관리자 권한
-
OpenShift Container Platform
oc
CLI 도구 설치
프로세스
HTTPS 연결을 프록시하는 데 필요한 추가 CA 인증서가 포함된 구성 맵을 생성합니다.
참고프록시의 ID 인증서를 RHCOS 트러스트 번들에 있는 기관에서 서명한 경우 이 단계를 건너뛸 수 있습니다.
다음 내용으로
user-ca-bundle.yaml
이라는 파일을 생성하고 PEM 인코딩 인증서 값을 제공합니다.apiVersion: v1 data: ca-bundle.crt: | 1 <MY_PEM_ENCODED_CERTS> 2 kind: ConfigMap metadata: name: user-ca-bundle 3 namespace: openshift-config 4
이 파일에서 구성 맵을 생성합니다.
$ oc create -f user-ca-bundle.yaml
oc edit
명령을 사용하여프록시
오브젝트를 수정합니다.$ oc edit proxy/cluster
프록시에 필요한 필드를 구성합니다.
apiVersion: config.openshift.io/v1 kind: Proxy metadata: name: cluster spec: httpProxy: http://<username>:<pswd>@<ip>:<port> 1 httpsProxy: https://<username>:<pswd>@<ip>:<port> 2 noProxy: example.com 3 readinessEndpoints: - http://www.google.com 4 - https://www.google.com trustedCA: name: user-ca-bundle 5
- 1
- 클러스터 외부에서 HTTP 연결을 구축하는 데 사용할 프록시 URL입니다. URL 스키마는
http
여야 합니다. - 2
- 클러스터 외부에서 HTTPS 연결을 구축하는 데 사용할 프록시 URL입니다. URL 스키마는
http
또는https
여야 합니다. URL 스키마를 지원하는 프록시의 URL을 지정합니다. 예를 들어 대부분의 프록시는https
를 사용하도록 구성된 경우 오류를 보고하지만http
만 지원합니다. 이 실패 메시지는 로그에 전파되지 않을 수 있으며 대신 네트워크 연결 실패로 표시될 수 있습니다. 클러스터에서https
연결을 수신하는 프록시를 사용하는 경우 프록시에서 사용하는 CA 및 인증서를 수락하도록 클러스터를 구성해야 할 수 있습니다. - 3
- 대상 도메인 이름, 도메인, IP 주소(또는 기타 네트워크 CIDR) 및 프록시를 제외할 포트 번호의 쉼표로 구분된 목록입니다.참고
포트 번호는 IPv6 주소를 구성할 때만 지원됩니다. IPv4 주소를 구성할 때 포트 번호는 지원되지 않습니다.
하위 도메인과 일치하려면 도메인 앞에
.
을 입력합니다. 예를 들어,.y.com
은x.y.com
과 일치하지만y.com
은 일치하지 않습니다.*
를 사용하여 모든 대상에 대해 프록시를 바이패스합니다.noproxy
필드에 도메인 주소를 포함해야 하는 경우noproxy
필드에 해당 FQDN 또는 접두사 일치 하위 도메인을 명시적으로 지정해야 합니다. 도메인을 캡슐화하는 IP 주소 또는 CIDR 범위는 사용할 수 없습니다. 이는 클러스터가 DNS가 경로 연결을 할당하기 전에 IP 주소를 반환하고 생성되는 요청에 대해 명시적으로 확인하기 위해 기다리지 않기 때문입니다. 예를 들어noproxy
필드의 경우10.0.0.0/24
와 같은 CIDR 블록 값이 있고https://10.0.0.11
에 액세스하려고 하면 성공적으로 일치합니다. 그러나 A 레코드 항목이10.0.0.11
인https://exampleserver.externaldomain.com
에 액세스하려고 하면 실패합니다.noproxy
필드의 경우.externaldomain.com
의 추가 값이 필요합니다.networking.machineNetwork[].cidr
필드에 의해 정의된 네트워크에 포함되어 있지 않은 작업자를 설치 구성에서 확장하려면 연결 문제를 방지하기 위해 이 목록에 해당 작업자를 추가해야 합니다.httpProxy
와httpsProxy
필드가 모두 설정되지 않은 경우 이 필드는 무시됩니다. - 4
httpProxy
및httpsProxy
값을 상태에 쓰기 전에 준비 검사를 수행하는 데 사용할 하나 이상의 클러스터 외부 URL입니다.- 5
- HTTPS 연결을 프록시하는 데 필요한 추가 CA 인증서가 포함된
openshift-config
네임스페이스의 구성 맵에 대한 참조입니다. 여기에서 구성 맵을 참조하기 전에 구성 맵이 이미 있어야 합니다. 프록시의 ID 인증서를 RHCOS 트러스트 번들에 있는 기관에서 서명하지 않은 경우 이 필드가 있어야 합니다.
- 파일을 저장하여 변경 사항을 적용합니다.