容器默认使用集群dns服务(跟物理主机不同),导致在物理主机设置的DNS不生效
参考https://cloud.tencent.com/developer/article/1804653
pod网络设置中 可以设置DNS使用策略如下
K8s DNS 策略
Kubernetes 中 Pod 的 DNS 策略有四种类型。
1.Default:Pod 继承所在主机上的 DNS 配置;
2.ClusterFirst:K8s 的默认设置;先在 K8s 集群配置的 coreDNS 中查询,查不到的再去继承自主机的上游 nameserver 中查询;
3.ClusterFirstWithHostNet:对于网络配置为 hostNetwork 的 Pod 而言,其 DNS 配置规则与 ClusterFirst 一致;
4.None:忽略 K8s 环境的 DNS 配置,只认 Pod 的 dnsConfig 设置。
POD中排查DNS问题
查看SSL版本 以及证书情况
curl -v https://xxxx.com
验证是否可以下载和解析IP是否正确
wget https://xxxx.com
查看cat /etc/resolv.conf 内容dns服务器是否正确
证书 /etc/ssl/certs 实际不影响
查看集群dns容器服务,通过该容器对应的ConfigMap文件rke2-coredns-rke2-coredns,设置指定域名IP或者DNS服务器?
kubectl -n kube-system get svc |grep dns