14.6. 在 GCP 上创建 DNS 记录


您可以使用 External DNS Operator 在 GCP 上创建 DNS 记录。

14.6.1. 使用 Red Hat External DNS Operator 在 GCP 公共管理区上创建 DNS 记录

您可以使用 Red Hat External DNS Operator 在公共受管区上为 GCP 创建 DNS 记录。

流程

  1. 检查用户。用户必须有权访问 kube-system 命名空间。如果没有凭证,您可以从 kube-system 命名空间中获取凭证,以使用云供应商客户端:

    $ oc whoami

    输出示例

    system:admin

  2. 运行以下命令,将 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
  3. 导出 Google 凭证:

    $ export GOOGLE_CREDENTIALS=decoded-gcloud.json
  4. 使用以下命令激活您的帐户:

    $ gcloud auth activate-service-account  <client_email as per decoded-gcloud.json> --key-file=decoded-gcloud.json
  5. 设置项目:

    $ gcloud config set project <project_id as per decoded-gcloud.json>
  6. 获取路由来检查域:

    $ 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

  7. 获取受管区列表以查找与之前找到的路由域对应的区:

    $ gcloud dns managed-zones list | grep test.gcp.example.com
    qe-cvs4g-private-zone test.gcp.example.com
  8. 路由源创建 ExternalDNS 资源:

    apiVersion: externaldns.olm.openshift.io/v1alpha1
    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
    EOF
    1
    指定外部 DNS CR 的名称。
    2
    默认情况下,所有托管区都被选为潜在的目标。您可以包括需要的托管区。
    3
    目标区的域匹配必须是完全准确的(与正则表达式匹配不同)。
    4
    指定您要更新的区域的确切域。路由的主机名必须是指定域的子域。
    5
    定义 Google Cloud DNS 供应商。
    6
    您可以定义 DNS 记录源的选项。
    7
    如果源是 OpenShiftRoute,您可以传递 OpenShift Ingress Controller 名称。外部 DNS 在创建 CNAME 记录时,选择该路由器的规范主机名作为目标。
    8
    定义 OpenShift 路由资源,作为在之前指定的 DNS 供应商中创建的 DNS 记录来源。
  9. 使用以下命令,检查为 OCP 路由创建的记录:

    $ gcloud dns record-sets list --zone=qe-cvs4g-private-zone | grep console
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.