19.6. GCP에서 DNS 레코드 생성
외부 DNS Operator를 사용하여 GCP(Google Cloud Platform)에 DNS 레코드를 생성할 수 있습니다.
GCP 워크로드 ID가 활성화된 클러스터에서 외부 DNS Operator 사용은 지원되지 않습니다. GCP 워크로드 ID에 대한 자세한 내용은 GCP Workload Identity에서 수동 모드 사용을 참조하십시오.
19.6.1. GCP의 퍼블릭 관리 영역에 DNS 레코드 생성
외부 DNS Operator를 사용하여 GCP의 퍼블릭 관리 영역에 DNS 레코드를 생성할 수 있습니다.
사전 요구 사항
- 클러스터 관리자 권한이 있어야합니다.
절차
다음 명령을 실행하여
encoded-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
다음 명령을 실행하여 Google 인증 정보를 내보냅니다.
$ export GOOGLE_CREDENTIALS=decoded-gcloud.json
다음 명령을 사용하여 계정을 활성화합니다.
$ gcloud auth activate-service-account <client_email as per decoded-gcloud.json> --key-file=decoded-gcloud.json
다음 명령을 실행하여 프로젝트를 설정합니다.
$ gcloud config set project <project_id as per decoded-gcloud.json>
다음 명령을 실행하여 경로 목록을 가져옵니다.
$ oc get routes --all-namespaces | grep console
출력 예
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
다음 명령을 실행하여 관리 영역 목록을 가져옵니다.
$ gcloud dns managed-zones list | grep test.gcp.example.com
출력 예
qe-cvs4g-private-zone test.gcp.example.com
ExternalDNS
오브젝트를 정의하는 YAML 파일(예:external-dns-sample-gcp.yaml
)을 생성합니다.external-dns-sample-gcp.yaml
파일 예apiVersion: externaldns.olm.openshift.io/v1beta1 kind: ExternalDNS metadata: name: sample-gcp 1 spec: domains: - filterType: Include 2 matchType: Exact 3 name: test.gcp.example.com 4 provider: type: GCP 5 source: openshiftRouteOptions: 6 routerName: default 7 type: OpenShiftRoute 8
- 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