4.7. GCP에서 DNS 레코드 만들기
외부 DNS 운영자를 사용하여 Google Cloud Platform(GCP)에서 DNS 레코드를 만들 수 있습니다.
GCP 워크로드 ID가 활성화된 클러스터에서 외부 DNS 운영자를 사용하는 것은 지원되지 않습니다. GCP 워크로드 ID에 대한 자세한 내용은 GCP 워크로드 ID를 참조하세요.
4.7.1. GCP용 공개 관리 영역에 DNS 레코드 만들기 링크 복사링크가 클립보드에 복사되었습니다!
외부 DNS 운영자를 사용하여 GCP의 공개 관리 영역에 DNS 레코드를 만들 수 있습니다.
사전 요구 사항
- 클러스터 관리자 권한이 있어야합니다.
 
프로세스
다음 명령을 실행하여
인코딩된 gcloud.json파일에gcp-credentials비밀번호를 복사합니다.oc get secret gcp-credentials -n kube-system --template='{{$v := index .data "service_account.json"}}{{$v}}' | base64 -d - > decoded-gcloud.json$ oc get secret gcp-credentials -n kube-system --template='{{$v := index .data "service_account.json"}}{{$v}}' | base64 -d - > decoded-gcloud.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Google 자격 증명을 내보냅니다.
export GOOGLE_CREDENTIALS=decoded-gcloud.json
$ export GOOGLE_CREDENTIALS=decoded-gcloud.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 사용하여 계정을 활성화하세요.
gcloud auth activate-service-account <client_email as per decoded-gcloud.json> --key-file=decoded-gcloud.json
$ gcloud auth activate-service-account <client_email as per decoded-gcloud.json> --key-file=decoded-gcloud.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 프로젝트를 설정하세요.
gcloud config set project <project_id as per decoded-gcloud.json>
$ gcloud config set project <project_id as per decoded-gcloud.json>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 경로 목록을 가져옵니다.
oc get routes --all-namespaces | grep console
$ oc get routes --all-namespaces | grep consoleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
openshift-console console console-openshift-console.apps.test.gcp.example.com console https reencrypt/Redirect None openshift-console downloads downloads-openshift-console.apps.test.gcp.example.com downloads http edge/Redirect None
openshift-console console console-openshift-console.apps.test.gcp.example.com console https reencrypt/Redirect None openshift-console downloads downloads-openshift-console.apps.test.gcp.example.com downloads http edge/Redirect NoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
qe-cvs4g-private-zone test.gcp.example.com과 같은 관리되는 영역 목록을 가져옵니다.gcloud dns managed-zones list | grep test.gcp.example.com
$ gcloud dns managed-zones list | grep test.gcp.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들어,
ExternalDNS객체를 정의하는external-dns-sample-gcp.yaml 과 같은YAML 파일을 만듭니다.external-dns-sample-gcp.yaml파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 - 외부 DNS 이름을 지정합니다.
 - 2
 - 기본적으로 모든 호스팅 영역이 잠재적 대상으로 선택됩니다. 호스팅된 영역을 포함할 수 있습니다.
 - 3
 - 대상의 도메인은
name키로 정의된 문자열과 일치해야 합니다. - 4
 - 업데이트하려는 영역의 정확한 도메인을 지정하세요. 경로의 호스트 이름은 지정된 도메인의 하위 도메인이어야 합니다.
 - 5
 - 공급자 유형을 정의합니다.
 - 6
 - DNS 레코드의 소스에 대한 옵션을 정의할 수 있습니다.
 - 7
 - 소스 유형이
OpenShiftRoute인 경우 OpenShift Ingress 컨트롤러 이름을 전달할 수 있습니다. 외부 DNS는 CNAME 레코드를 생성하는 동안 해당 라우터의 정식 호스트 이름을 대상으로 선택합니다. - 8
 경로리소스를 GCP DNS 레코드의 소스로 정의합니다.
다음 명령을 실행하여 OpenShift Container Platform 경로에 대해 생성된 DNS 레코드를 확인하세요.
gcloud dns record-sets list --zone=qe-cvs4g-private-zone | grep console
$ gcloud dns record-sets list --zone=qe-cvs4g-private-zone | grep consoleCopy to Clipboard Copied! Toggle word wrap Toggle overflow