前因:一套很久前搭建的k8s,版本1.18.18。 测试部署prometheus,发现带有svc的都无法访问

解决过程:
1.查看coredns服务,没发现异常

2.创建测试pod -- busybox
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "4"
labels:
app: mytest
name: mytest
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: mytest
template:
metadata:
labels:
app: mytest
spec:
containers:
- args:
- /bin/sh
- -c
- sleep 300000
image: busybox:1.28.3
imagePullPolicy: Always
name: busybox
3.进去容器测试域名解析
发现无法解析,但是能ping通clusterip和pod ip
kubectl exec -it mytesta-86bb8bc746-cpp2f


4.发现pod里解析ip 与coredns svc clusterip不一样


尝试把pod里nameserver改成10.68.0.2,发现解析成功。

5.直接修改pod无法持久, 尝试修改kubelet服务的dns地址信息

改成10.68.0.2。 重启kubelet
systemctl restart kubelet
重启busybox pod,进入容器测试。发现resolv.conf 变成coredns svc clusterip,且能正常解析

再次查看prometheus监控情况,已经可以正常监控
