背景
昨天突然发现gocd中部署的pipeline都执行失败了,查看日志中有host not found,很奇怪一直好好的。下面记录一下排查记录
- 登陆到pod中访问一下对应域名,验证确实不能访问到
- 使用
Kubectl get pods -n kube-system
查看发现coreDns服务状态为Running,查看 coreDns日志也没有任何错误 - 使用
kubectl describe svc kube-dns -n kube-system
发现如下报错,怀疑可能跟endpoints或者endpointslices有关系
- 经过与asi同学沟通还是没有具体的结论,不过有个办法可以临时绕过,将coreDns进行扩容,经过测试发现当Node节点中存在coreDns服务,那么依托该节点的pod就可以使用dns服务
kubectl -n kube-system scale deploy coredns --replicas=100
后续有进展会继续更新
并且备注一下,当存在个别Service通过NodePort无法访问,可以排查一下对应service的endpoints,类似下面这种,可以将service删除重新创建