11.5. 사용자 지정 마스터 호스트 인증서 구성
OpenShift Container Platform의 외부 사용자와의 신뢰할 수 있는 연결을 용이하게 하기 위해 기본적으로 /etc/ansible/hosts
의 openshift_master_cluster_public_hostname
매개변수에 제공된 도메인 이름과 일치하는 명명된 인증서를 프로비저닝할 수 있습니다.
Ansible에서 액세스할 수 있는 디렉터리에 이 인증서를 배치하고 다음과 같이 Ansible 인벤토리 파일에서 경로를 추가해야 합니다.
openshift_master_named_certificates=[{"certfile": "/path/to/console.ocp-c1.myorg.com.crt", "keyfile": "/path/to/console.ocp-c1.myorg.com.key", "names": ["console.ocp-c1.myorg.com"]}]
매개변수 값은 다음과 같습니다.
- certFile 은 OpenShift Container Platform 사용자 정의 마스터 API 인증서가 포함된 파일의 경로입니다.
- keyfile 은 OpenShift Container Platform 사용자 정의 마스터 API 인증서 키가 포함된 파일의 경로입니다.
- name 은 클러스터 공용 호스트 이름입니다.
파일 경로는 Ansible이 실행되는 시스템에 로컬로 있어야 합니다. 인증서는 마스터 호스트에 복사되며 /etc/origin/master 디렉터리에 배포됩니다.
레지스트리를 보호할 때 서비스 호스트 이름과 IP 주소를 레지스트리의 서버 인증서에 추가합니다. SAN(주체 대체 이름)에는 다음이 포함되어야 합니다.
두 개의 서비스 호스트 이름:
docker-registry.default.svc.cluster.local docker-registry.default.svc
서비스 IP 주소.
예를 들면 다음과 같습니다.
172.30.252.46
다음 명령을 사용하여 컨테이너 이미지 레지스트리 서비스 IP 주소를 가져옵니다.
oc get service docker-registry --template='{{.spec.clusterIP}}'
공개 호스트 이름.
docker-registry-default.apps.example.com
다음 명령을 사용하여 컨테이너 이미지 레지스트리 공개 호스트 이름을 가져옵니다.
oc get route docker-registry --template '{{.spec.host}}'
예를 들어 서버 인증서에는 다음과 유사한 SAN 세부 정보가 포함되어야 합니다.
X509v3 Subject Alternative Name: DNS:docker-registry-public.openshift.com, DNS:docker-registry.default.svc, DNS:docker-registry.default.svc.cluster.local, DNS:172.30.2.98, IP Address:172.30.2.98