×

外部 DNS 操作符包含以下配置参数。

外部 DNS 操作符配置参数

外部 DNS 操作符包含以下配置参数

参数 描述

spec

启用云提供商的类型。

spec:
  provider:
    type: AWS (1)
    aws:
      credentials:
        name: aws-access-key (2)
1 定义可用的选项,例如 AWS、GCP、Azure 和 Infoblox。
2 定义云提供商的密钥名称。

zones

允许您通过其域名指定 DNS 区域。如果您未指定区域,则ExternalDNS资源会发现云提供商帐户中存在的所有区域。

zones:
- "myzoneid" (1)
1 指定 DNS 区域的名称。

domains

允许您通过其域名指定 AWS 区域。如果您未指定域,则ExternalDNS资源会发现云提供商帐户中存在的所有区域。

domains:
- filterType: Include (1)
  matchType: Exact (2)
  name: "myzonedomain1.com" (3)
- filterType: Include
  matchType: Pattern (4)
  pattern: ".*\\.otherzonedomain\\.com" (5)
1 确保ExternalDNS资源包含域名。
2 指示ExternalDNS域匹配必须是精确匹配,而不是正则表达式匹配。
3 定义域的名称。
4 ExternalDNS资源中设置regex-domain-filter标志。您可以使用正则表达式过滤器来限制可能的域。
5 定义ExternalDNS资源用于过滤目标区域域的正则表达式模式。

source

允许您指定 DNS 记录的来源,ServiceRoute

source: (1)
  type: Service (2)
  service:
    serviceType:(3)
      - LoadBalancer
      - ClusterIP
  labelFilter: (4)
    matchLabels:
      external-dns.mydomain.org/publish: "yes"
  hostnameAnnotation: "Allow" (5)
  fqdnTemplate:
  - "{{.Name}}.myzonedomain.com" (6)
1 定义 DNS 记录来源的设置。
2 ExternalDNS资源使用Service类型作为创建 DNS 记录的来源。
3 ExternalDNS资源中设置service-type-filter标志。serviceType包含以下字段
  • default: LoadBalancer

  • expected: ClusterIP

  • NodePort

  • LoadBalancer

  • ExternalName

4 确保控制器只考虑那些与标签过滤器匹配的资源。
5 hostnameAnnotation的默认值为Ignore,它指示ExternalDNS使用fqdnTemplates字段中指定的模板生成 DNS 记录。当值为Allow时,DNS 记录将根据external-dns.alpha.kubernetes.io/hostname注释中指定的值生成。
6 外部 DNS 操作符使用字符串从未定义主机名的源生成 DNS 名称,或者与虚拟源配对时添加主机名后缀。
source:
  type: OpenShiftRoute (1)
  openshiftRouteOptions:
    routerName: default (2)
    labelFilter:
      matchLabels:
        external-dns.mydomain.org/publish: "yes"
1 创建 DNS 记录。
2 如果源类型为OpenShiftRoute,则可以传递 Ingress 控制器名称。ExternalDNS资源使用 Ingress 控制器的规范名称作为 CNAME 记录的目标。