首页 > 解决方案 > 我用 kubeadm 创建了一个主集群,一切都很好,但 CoreDNS 没有工作

问题描述

根据文档,我使用 kubeadm 创建了一个主集群,我是这样做的:

kubeadm init --pod-network-cidr=172.20.0.0/16
kubectl apply -f rbac-kdd.yaml
kubectl apply -f calico.yml

现在,一切都很好,所有的 pod 和服务都在运行,但是当我测试 CoreDNS 时,问题就出现了。我创建了一个 pod 来测试 dns:

kubectl exec busybox -- nslookup kubernetes

它无法解析 Kubernetes。

我想可能是因为主 IP 是 10.0.197.143,而 CoreDNS 服务的 cluster-ip 是 10.96.0.10。如果我是对的,我该如何更改 cluster-ip 范围?

标签: kuberneteskube-dnscalico

解决方案


根据文档:

为了使 Calico 正常工作,您需要将 --pod-network-cidr=192.168.0.0/16 传递给 kubeadm init 或更新 calico.yml

出于故障排除目的,请运行:

kubectl get svc,pods --all-namespaces
kubectl logs <your coredns-pod> -n kube-system
kubectl get pods --namespace=kube-system
kubectl get ep kube-dns --namespace=kube-system
   In addition using new deployed pod:
cat /etc/resolv.conf
nslookup kubernetes.default

请分享日志和发现

您还可以在此处找到有关故障排除的更多详细信息:


推荐阅读