coredns常见问题
在
pod中不能通过servicename.namespace来访问其他服务,先查看coredns启动的ip来试试能否使用
查看coredns
kubectl get pod -n kube-system -o wide
# 查看dns是否畅通
nslookup springboot.default 172.17.0.5
如果coredns的ip可以连通,而coredns的service连不通,则修改service重启
查看最新的
coredns clusterIP继续去pod中测试,看是否能通
最后修改
kubelet --clusterDNS,这样新创建的pod /etc/resolv.conf中nameserver为新的coredns clusterIP.
# 修改kubelet配置
vim /var/lib/kubelet/config.yaml
# 找到clusterDNS
clusterDNS:
- 10.244.47.231
# 重启kubelet生效,注意k8s中所有节点都需要修改重启
systemctl restart kubelet.service
测试没问题就通过了
集群其他节点不能使用kubectl命令
#在master节点将**admin.conf**文件拷贝到其它从节点
srp -r vim /etc/kubernetes/admin.conf root@node1:/etc/kubernetes/admin.conf
#然后在节点运行下面命令
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
k8s节点重启后node状态为notReady
#重启kubelet即可
systemctl restart kubelet