简介
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
复制代码