k8s叢集配置使用coredns代替kube-dns

weixin_34162695發表於2018-07-11

簡介

CoreDNS是一個Go語言實現的鏈式外掛DNS服務端,是CNCF成員,是一個高效能、易擴充套件的DNS服務端。可以很方便的部署在k8s叢集中,用來代替kube-dns

使用kubeadm初始化時指定

安裝方法與《centos7使用kubeadm安裝k8s叢集》基本一致 只需要簡單修改kubeadm-master.config配置檔案

apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
kubernetesVersion: v1.9.0
imageRepository: registry.cn-shanghai.aliyuncs.com/gcr-k8s
etcd:
  image: registry.cn-shanghai.aliyuncs.com/gcr-k8s/etcd-amd64:3.1.10
api:
  advertiseAddress: 11.11.11.111
networking:
  podSubnet: 10.244.0.0/16
featureGates:
  CoreDNS: true
複製程式碼

單獨部署coredns

不依賴kubeadm的方式,適用於不是使用kubeadm建立的k8s叢集,或者kubeadm初始化叢集之後,刪除了dns相關部署。

# 在calico網路中也配置一個coredns
# 10.96.0.10 為k8s官方指定的kube-dns地址
mkdir coredns && cd coredns
wget https://raw.githubusercontent.com/coredns/deployment/master/kubernetes/coredns.yaml.sed
wget https://raw.githubusercontent.com/coredns/deployment/master/kubernetes/deploy.sh
chmod +x deploy.sh
./deploy.sh -i 10.96.0.10 > coredns.yml
kubectl apply -f coredns.yml

# 檢視
kubectl get pods --namespace kube-system
kubectl get svc --namespace kube-system
複製程式碼

相關文章