This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.14.6. GCP での DNS レコードの作成
外部 DNS Operator を使用して、GCP で DNS レコードを作成できます。
14.6.1. Red Hat 外部 DNS Operator を使用した GCP のパブリックマネージドゾーンへの DNS レコードの作成
Red Hat 外部 DNS Operator を使用して、GCP のパブリックマネージドゾーンに DNS レコードを作成できます。
手順
- ユーザーを確認してください。ユーザーは、 - kube-systemnamespace にアクセスできる必要があります。クレデンシャルがない場合は、- kube-systemnamespace からクレデンシャルを取得すると、クラウドプロバイダークライアントを使用できます。- oc whoami - $ oc whoami- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - system:admin - system:admin- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、encoded-gcloud.json ファイルの gcp-credentials シークレットの service_account.json の値をコピーします。 - 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.json- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Google のクレデンシャルをエクスポートします。 - export GOOGLE_CREDENTIALS=decoded-gcloud.json - $ export GOOGLE_CREDENTIALS=decoded-gcloud.json- Copy 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.json- Copy 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 console- Copy 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 None- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 管理対象ゾーンのリストを取得して、以前に検出されたルートのドメインに対応するゾーンを見つけます。 - gcloud dns managed-zones list | grep test.gcp.example.com - $ gcloud dns managed-zones list | grep test.gcp.example.com qe-cvs4g-private-zone test.gcp.example.com- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- routeソースの- ExternalDNSリソースを作成します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 外部 DNS CR の名前を指定します。
- 2
- デフォルトでは、すべてのホストゾーンがターゲット候補として選択されます。必要なホストゾーンを追加できます。
- 3
- ターゲットゾーンのドメインは、(正規表現の一致とは対照的に) 完全一致である必要があります。
- 4
- 更新するゾーンのドメインを正確に指定します。ルートのホスト名は、指定されたドメインのサブドメインである必要があります。
- 5
- Google Cloud DNS プロバイダーを定義します。
- 6
- DNS レコードのソースのオプションを定義できます。
- 7
- ソースがOpenShiftRouteの場合、OpenShift Ingress Controller 名を指定できます。外部 DNS は、CNAME レコードの作成時に、そのルーターの正規のホスト名をターゲットとして選択します。
- 8
- 以前に指定された DNS プロバイダーで作成される DNS レコードのソースとして OpenShiftrouteリソースを定義します。
 
- 次のコマンドを使用して、OCP ルート用に作成されたレコードを確認します。 - gcloud dns record-sets list --zone=qe-cvs4g-private-zone | grep console - $ gcloud dns record-sets list --zone=qe-cvs4g-private-zone | grep console- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow