$ oc edit dns.operator/default
在AWS上的Red Hat OpenShift Service中,DNS Operator部署和管理CoreDNS实例,为集群内的Pod提供名称解析服务,启用基于DNS的Kubernetes服务发现,并解析内部cluster.local
名称。
您可以通过以下方式使用DNS转发来覆盖/etc/resolv.conf
文件中默认的转发配置
为每个区域指定名称服务器(spec.servers
)。如果转发的区域是由AWS上的Red Hat OpenShift Service管理的入口域,则上游名称服务器必须为此域授权。
您必须至少指定一个区域。否则,您的集群可能会失去功能。 |
提供上游DNS服务器列表(spec.upstreamResolvers
)。
更改默认转发策略。
默认域的DNS转发配置可以同时具有 |
修改名为default
的DNS Operator对象
$ oc edit dns.operator/default
发出上述命令后,Operator将基于spec.servers
创建并更新名为dns-default
的配置映射,其中包含额外的服务器配置块。
指定 |
如果没有任何服务器的区域与查询匹配,则名称解析将回退到上游DNS服务器。
apiVersion: operator.openshift.io/v1
kind: DNS
metadata:
name: default
spec:
cache:
negativeTTL: 0s
positiveTTL: 0s
logLevel: Normal
nodePlacement: {}
operatorLogLevel: Normal
servers:
- name: example-server (1)
zones:
- example.com (2)
forwardPlugin:
policy: Random (3)
upstreams: (4)
- 1.1.1.1
- 2.2.2.2:5353
upstreamResolvers: (5)
policy: Random (6)
protocolStrategy: "" (7)
transportConfig: {} (8)
upstreams:
- type: SystemResolvConf (9)
- type: Network
address: 1.2.3.4 (10)
port: 53 (11)
status:
clusterDomain: cluster.local
clusterIP: x.y.z.10
conditions:
...
1 | 必须符合rfc6335 服务名称语法。 |
2 | 必须符合rfc1123 服务名称语法中子域的定义。集群域cluster.local 是zones 字段的无效子域。 |
3 | 定义选择forwardPlugin 中列出的上游解析器的策略。默认值为Random 。您也可以使用RoundRobin 和Sequential 值。 |
4 | 每个forwardPlugin 最多允许15个upstreams 。 |
5 | 您可以使用upstreamResolvers 覆盖默认转发策略,并将DNS解析转发到为默认域指定的DNS解析器(上游解析器)。如果您没有提供任何上游解析器,则DNS名称查询将转到/etc/resolv.conf 中声明的服务器。 |
6 | 确定upstreams 中列出的上游服务器查询选择的顺序。您可以指定以下值之一:Random 、RoundRobin 或Sequential 。默认值为Sequential 。 |
7 | 省略时,平台将选择默认值,通常是原始客户端请求的协议。设置为TCP 以指定平台应为所有上游DNS请求使用TCP,即使客户端请求使用UDP也是如此。 |
8 | 用于配置传输类型、服务器名称以及转发DNS请求到上游解析器时使用的可选自定义CA或CA捆绑包。 |
9 | 您可以指定两种类型的upstreams :SystemResolvConf 或Network 。SystemResolvConf 配置上游使用/etc/resolv.conf ,而Network 定义Networkresolver 。您可以同时指定一个或两个。 |
10 | 如果指定的类型为Network ,则必须提供IP地址。address 字段必须是有效的IPv4或IPv6地址。 |
11 | 如果指定的类型为Network ,则可以选择提供端口。port 字段的值必须在1 到65535 之间。如果您没有为上游指定端口,则默认端口为853。 |
有关DNS转发的更多信息,请参阅CoreDNS转发文档。