-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy path部署CoreDNS服务.md
53 lines (40 loc) · 1.9 KB
/
部署CoreDNS服务.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# 部署CoreDNS服务
## CoreDNS简介
`CoreDNS`是一个DNS服务器,和Caddy Server具有相同的模型:它链接插件。CoreDNS是云本土计算基金会启动阶段项目。
`CoreDNS`是`SkyDNS`的继任者;`SkyDNS`是一个薄层,暴露了DNS中的etcd中的服务。`CoreDNS`建立在这个想法上,是一个通用的DNS服务器,可以与多个后端(etcd,kubernetes等)进行通信。
`CoreDNS`旨在成为一个快速灵活的DNS服务器。这里的关键灵活指的是:使用`CoreDNS`,您可以使用DNS数据进行所需的操作;还可以自已写插件来实现DNS的功能。
CoreDNS可以通过UDP/TCP(旧式的DNS),TLS(RFC 7858)和gRPC(不是标准)监听DNS请求。
## 下载CoreDNS镜像文件
``` bash
# mkdir -p coredns && cd coredns
# wget https://raw.githubusercontent.com/kubernetes/kubernetes/master/cluster/addons/dns/coredns/coredns.yaml.base
# cp coredns.yaml.base coredns.yaml
```
## 配置CoreDNS服务
注意:需要将`__PILLAR__DNS__DOMAIN__`设置为集群环境中的域名, 这个域名需要和`kubelet`的`--cluster-domain`参数值一致.
注意:需要将`__PILLAR__DNS__SERVER__`设置为集群环境的IP, 这个`IP`需要和`kubelet`的`--cluster-dns`参数值一致.
``` bash
# diff coredns.yaml coredns.yaml.base
67c67
< kubernetes linux-testing.com. in-addr.arpa ip6.arpa {
---
> kubernetes __PILLAR__DNS__DOMAIN__ in-addr.arpa ip6.arpa {
115c115
< image: coredns/coredns:1.2.6
---
> image: k8s.gcr.io/coredns:1.2.6
180c180
< clusterIP: 172.21.0.254
---
> clusterIP: __PILLAR__DNS__SERVER__
```
## 安装CoreDNS服务
``` bash
# kubectl apply -f coredns.yaml
# kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-5984fb8cbb-4ss5v 1/1 Running 0 19s
coredns-5984fb8cbb-79wnz 1/1 Running 0 20s
```
## 验证CoreDNS功能
待补充...