016.Kubernetes二进制集群插件coredns

一 修改配置文件

1.1 下载解压

  1 [root@master01 ~]# cd /opt/k8s/work/kubernetes/
  2 [root@master01 kubernetes]# tar -xzvf kubernetes-src.tar.gz

提示:master01 节点已解压完毕,可直接修改配置。

1.2 修改配置

  1 [root@master01 ~]# cd /opt/k8s/work/kubernetes/cluster/addons/dns/coredns
  2 [root@master01 coredns]# cp coredns.yaml.base coredns.yaml
  3 [root@master01 coredns]# source /root/environment.sh
  4 [root@master01 coredns]# sed -i -e "s/__PILLAR__DNS__DOMAIN__/${CLUSTER_DNS_DOMAIN}/" -e "s/__PILLAR__DNS__SERVER__/${CLUSTER_DNS_SVC_IP}/" -e "s/__PILLAR__DNS__MEMORY__LIMIT__/200Mi/" coredns.yaml

提示:本步骤操作仅需要在master01节点操作。

二 创建 coredns

2.1 设置调度策略

提示:对于非业务应用(即集群内部应用)建议仅部署在master节点,如coredns及dashboard。

  1 [root@master01 coredns]# kubectl label nodes master01 node-role.kubernetes.io/master=true
  2 [root@master01 coredns]# kubectl label nodes master02 node-role.kubernetes.io/master=true
  3 [root@master01 coredns]# kubectl label nodes master03 node-role.kubernetes.io/master=true
  4 [root@master01 coredns]# vi coredns.yaml

  1 ……
  2 apiVersion: apps/v1
  3 kind: Deployment
  4 ……
  5 spec:
  6   replicas: 3			#建议增加副本数
  7 ……
  8       nodeSelector:
  9         node-role.kubernetes.io/master: "true"
 10       tolerations:
 11         - key: node-role.kubernetes.io/master
 12           operator: "Equal"
 13           value: ""
 14           effect: NoSchedule
 15 ……

提示:本步骤操作仅需要在master01节点操作。

2.2 创建coredns并检查

  1 [root@master01 coredns]# kubectl create -f coredns.yaml

2.3 检查 coredns 功能

  1 [root@master01 coredns]# kubectl get all -n kube-system

clipboard

三 确认验证

3.1 新建Deployment

参考《015.Kubernetes二进制部署检查集群》1.2步骤。

3.2 查看应用

  1 [root@master01 work]# kubectl get pods -o wide
  2 [root@master01 work]# kubectl get svc -o wide

clipboard

提示:本步骤操作仅需要在master01节点操作。

3.3 创建测试pod

  1 [root@master01 ~]# cd /opt/k8s/work
  2 [root@master01 work]# source /root/environment.sh
  3 [root@master01 work]# cat > dnsutils-ds.yml <<EOF
  4 apiVersion: v1
  5 kind: Service
  6 metadata:
  7   name: dnsutils-ds
  8   labels:
  9     app: dnsutils-ds
 10 spec:
 11   type: NodePort
 12   selector:
 13     app: dnsutils-ds
 14   ports:
 15   - name: http
 16     port: 80
 17     targetPort: 80
 18 ---
 19 apiVersion: apps/v1
 20 kind: DaemonSet
 21 metadata:
 22   name: dnsutils-ds
 23   labels:
 24     addonmanager.kubernetes.io/mode: Reconcile
 25 spec:
 26   selector:
 27     matchLabels:
 28       app: dnsutils-ds
 29   template:
 30     metadata:
 31       labels:
 32         app: dnsutils-ds
 33     spec:
 34       containers:
 35       - name: my-dnsutils
 36         image: tutum/dnsutils:latest
 37         command:
 38           - sleep
 39           - "3600"
 40         ports:
 41         - containerPort: 80
 42 EOF

  1 [root@master01 work]# kubectl create -f dnsutils-ds.yml
  2 [root@master01 work]# kubectl get pods -lapp=dnsutils-ds

clipboard

提示:本步骤操作仅需要在master01节点操作。

3.5 检查解析

  1 [root@master01 work]# kubectl -it exec dnsutils-ds-8ds89 -- /bin/sh
  2 root@dnsutils-ds-8ds89:/# cat /etc/resolv.conf
  3 nameserver 10.20.0.254
  4 search default.svc.cluster.local svc.cluster.local cluster.local
  5 options ndots:5
  6 
  7 [root@master01 work]# kubectl -ti exec dnsutils-ds-8ds89 -- nslookup kubernetes
  8 [root@master01 work]# kubectl -ti exec dnsutils-ds-8ds89 -- nslookup www.baidu.com
  9 [root@master01 work]# kubectl -ti exec dnsutils-ds-8ds89 -- nslookup nginx-svc
 10 [root@master01 work]# kubectl -ti exec dnsutils-ds-8ds89 -- nslookup kube-dns.kube-system.svc
 11 [root@master01 work]# kubectl -ti exec dnsutils-ds-8ds89 -- nslookup kube-dns.kube-system.svc.cluster.local
 12 [root@master01 work]# kubectl -ti exec dnsutils-ds-8ds89 -- nslookup kube-dns.kube-system.svc.cluster.local.

clipboard

提示:本步骤操作仅需要在master01节点操作。

posted @ 2019-11-19 11:08  木二  阅读(1045)  评论(0编辑  收藏  举报