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

本文转自掘金-k8s集群配置使用coredns代替kube-dns
上一篇:悟透LoadRunner - 如何让多个场景顺序执行?


下一篇:K8s 工程师必懂的 10 种 Ingress 控制器