• 沒有找到結果。

方案比较

3.7.2 通过 DNS Endpoint 做级联解析

前提条件

CCE集群所在VPC与线下IDC已经使用专线或其他方式正确连接,IDC与VPC网段和CCE 集群容器网段能够互访。专线的创建方法请参见云专线快速入门。

操作步骤

步骤1 在CCE集群所在VPC创建 DNS Endpoint。

1. 登录VPCEP控制台。

2. 单击右上角“购买终端节点”。

3. 选择DNS服务和VPC,注意此处VPC需要选择CCE集群所在VPC。

3-38 创建 DNS Endpoint

4. 单击“立即购买”,完成创建。

创建完成后,可在详情页中查看到DNS Endpoint的IP地址,如下图所示。

3-39 DNS Endpoint 的 IP 地址 的DNS Endpoint。

例如BIND中可以修改/etc/named.conf文件,将域名解析任务转发给DNS Endpoint,

如下所示,添加如下两行,将转发解析转发到DNS Endpoint的地址,其中 192.168.0.203为步骤1创建的DNS Endpoint的地址。

options {

listen-on port 53 { any; };

listen-on-v6 port 53 { ::1; };

directory "/var/named";

dump-file "/var/named/data/cache_dump.db";

statistics-file "/var/named/data/named_stats.txt";

memstatistics-file "/var/named/data/named_mem_stats.txt";

recursing-file "/var/named/data/named.recursing";

secroots-file "/var/named/data/named.secroots";

allow-query { any; };

步骤3 修改CCE集群Node节点的DNS配置。

修改Node节点的DNS有如下两种方法。

方法一:

在Node节点创建完成后,修改节点的DNS配置。

1. 登录CCE集群的Node节点。

2. 修改/etc/resolv.conf文件,修改nameserver的地址为IDC的域名解析服务器地 址。# vi /etc/resolv.conf

nameserver 10.0.0.190

3. 执行如下命令锁定resolv.conf文件,防止被华为云自动更新。

chattr +i /etc/resolv.conf

更详细的配置DNS步骤可以参考配置DNS。

方法二:

修改CCE集群所在的VPC子网的DNS配置,这样新创建的Node节点的/etc/resolv.conf 文件中会直接刷新成指定的域名解析服务器地址。

此方法需要确保节点能够正常使用IDC的域名解析服务器解析华为云内网域名,否则会 导致节点无法创建。建议在调试无问题后再修改VPC子网的DNS配置。

3-40 子网的 DNS 配置

步骤4 配置工作负载的DNS Policy。

创建工作负载时,容器中的域名解析可以在YAML中配置dnsPolicy为ClusterFirst,如 下所示。Kubernetes默认也是将dnsPolicy设置为ClusterFirst,如此处不做配置,

Kubernetes也是默认设置为ClusterFirst。工作负载的DNS详细配置可以参考 Kubernetes集群内置DNS配置说明。

apiVersion: v1 kind: Pod metadata:

namespace: default name: dns-example spec:

containers:

- name: test image: nginx dnsPolicy: ClusterFirst

----结束

配置验证

配置完成后,可以在集群节点中使用dig命令查看到服务器是10.0.0.190,也就是使用 IDC的域名解析服务器做了域名解析,这说明在节点访问IDC的域名没有问题。

[root@cce-bestpractice-node ~]# dig cce.cn-east-3.myhuaweicloud.com

; <<>> DiG 9.9.4-61.1.h14.eulerosv2r7 <<>> cce.cn-east-3.myhuaweicloud.com

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24272

;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 4096

;; QUESTION SECTION:

;cce.cn-east-3.myhuaweicloud.com. IN A

;; ANSWER SECTION:

cce.cn-east-3.myhuaweicloud.com. 274 IN A 100.125.4.16

;; Query time: 4 msec

;; SERVER: 10.0.0.190#53(10.0.0.190)

;; WHEN: Tue Feb 23 19:16:08 CST 2021

;; MSG SIZE rcvd: 76

在集群节点访问华为云内域名,如下所示,能够看到已经解析出对应的IP地址,说明 能够解析。

[root@cce-bestpractice-node ~]# ping cce.cn-east-3.myhuaweicloud.com PING cce.cn-east-3.myhuaweicloud.com (100.125.4.16) 56(84) bytes of data.

创建一个Pod访问华为云域名,如下所示,同样能够ping通,说明能够解析。

web-terminal-568c6566df-c9jhl:~# kubectl run -i tty image tutum/dnsutils dnsutils restart=Never --rm /bin/sh

If you don't see a command prompt, try pressing enter.

# ping cce.cn-east-3.myhuaweicloud.com

PING cce.cn-east-3.myhuaweicloud.com (100.125.4.16) 56(84) bytes of data.