阅读 2039

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

简介

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