簡介
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