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.16.6. 在 GCP 上创建 DNS 记录
您可以使用 External DNS Operator 在 GCP 上创建 DNS 记录。
您可以使用 Red Hat External DNS Operator 在公共受管区上为 GCP 创建 DNS 记录。
流程
检查用户。用户必须有权访问
kube-system
命名空间。如果没有凭证,您可以从kube-system
命名空间中获取凭证,以使用云供应商客户端: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 运行以下命令,将 gcp-credentials secret 中的 service_account.json 值复制到编码-gcloud.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 为
路由
源创建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
- 定义 OpenShift
路由
资源,作为在之前指定的 DNS 供应商中创建的 DNS 记录来源。
使用以下命令,检查为 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