k8s安裝之DNS

DNS

kubeDns
wget https://storage.googleapis.com/kubernetes-release/release/v1.11.0/kubernetes-server-linux-amd64.tar.gz
tar -xzvf kubernetes-server-linux-amd64.tar.gz
cd kubernetes
tar -zxf kubernetes-src.tar.gz
cp cluster/addons/dns/kube-dns/kube-dns.yaml.sed ~/kube-dns/kubedns-service.yaml
修改image地址
#把文件中$DNS_SERVER_IP替換成10.254.0.2
sed -i 's/$DNS_SERVER_IP/10.254.0.2/g' ./kubedns-service.yaml
#把$DNS_DOMAIN替換成cluster.local
sed -i 's/$DNS_DOMAIN/cluster.local/g' ./kubedns-service.yaml

增加父系DNS
修改配置文件kubedns-service.yaml 

apiVersion: v1
kind: ConfigMap
metadata:
  name: kube-dns
  namespace: kube-system
  labels:
    addonmanager.kubernetes.io/mode: EnsureExists
data:
  stubDomains: | ##此處指定以test.duia.com結尾的域名使用10.0.0.55解析
    {"test.duia.com":["10.0.0.55"]}
  upstreamNameservers: | ##此處指定覆蓋上級dns
    ["223.5.5.5"]

啓動

kubectl create -f kubedns-service.yaml

驗證

get pods --namespace="kube-system"

NAME                                    READY     STATUS    RESTARTS   AGE
kube-dns-8498694664-99gqr               3/3       Running   0          38m
kubernetes-dashboard-69db8c7745-hdhbg   1/1       Running   1          3h
測試

進入隨意一個容器,可以Ping通外網地址

coreDns
配置文件各項目的含義
名稱|含義
---|---
errors|錯誤會被記錄到標準輸出
health|可以通過http://localhost:8080/health查看健康狀況
kubernetes|根據服務的IP響應DNS查詢請求,kubeadm的Cluster Domain和Service CIDR默認爲cluster.local和10.95.0.0/12,可以通過--service-dns-domain和--service-cidr參數配置。
prometheus|可以通過http://localhost:9153/metrics獲取prometheus格式的監控數據
proxy|本地無法解析後,向上級地址進行查詢,默認使用宿主機的 /etc/resolv.conf 配置
cache|緩存時間

[root@k8s-master ~]# kubectl -n kube-system get configmap coredns -o yaml
apiVersion: v1
data:
  Corefile: |
    .:53 {
        errors
        health
        kubernetes cluster.local in-addr.arpa ip6.arpa {
           pods insecure
           upstream
           fallthrough in-addr.arpa ip6.arpa
           ttl 30
        }
        prometheus :9153
        forward . /etc/resolv.conf
        cache 30
        loop
        reload
        loadbalance
    }
kind: ConfigMap
metadata:
  creationTimestamp: "2019-08-22T10:09:36Z"
  name: coredns
  namespace: kube-system
  resourceVersion: "181"
  selfLink: /api/v1/namespaces/kube-system/configmaps/coredns
  uid: bb1db052-35c7-4162-8fc6-7ff8fe164ae2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章