kubernetes - 我用 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 范围?
解决方案
根据文档:
为了使 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
请分享日志和发现
您还可以在此处找到有关故障排除的更多详细信息:
推荐阅读
- git - 检查分支并临时重新定位/合并以查看影响?
- c# - 从主机名 C# 中提取 ISP
- javascript - setState 没有更新 DOM
- php - 来自 PHP 服务器的 Firebase 通知
- networking - 端口转发仅适用于 Windows 10 中的软件
- python - 尝试在(Jupyter ipython + windows)上导入 Levenshtein
- python - 如何在 pandas 的数据框中对数据进行 bin 处理
- codeigniter - Codeigniter 分页链接不适用于 boostrap 分页类
- python - 随机合并两个列表中的两个元素
- mysql - 如何在 mysql windows 中授予 information_schema