簡介
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
本文轉自掘金-k8s集羣配置使用coredns代替kube-dns