k8s coredns 外网域名解析问题

1. 问题描述

问题表面原因:

在coredns默认配置下,proxy . /etc/resolv.conf

在Poc部署环境中,经常出现在/etc/resolv.conf中没有配置域名的情况,会出现coredns报错的情况:

2. 原因分析

在coredns中,默认有fallthrough的配置

coredns默认配置会将反向地址解析传到配置外部DNS,默认外部DNS为8.8.8.8,会导致反向地址解析要经过超时才有返回。

当而有组件会自动进行反向地址解析,会导致访问超时。

平台组件存在进行反向地址解析的操作,所以导致平台访问变慢。

3. 解决方案(任选一个)

   3.1. 注释掉fall through

   3.2. 配置正确的外部DNS

图2

问题2:

出现某个域名在某个节点上解析不通,排障思路,进去cordns pod中nslookup该域名,如果通说明pod解析没问题,如果不通则在集群svc ip层面进行nslookup,如果不通那么是svc层面问题,进入到节点,一般为kubelet dns解析出现问题

解决方法:

1、删除原先coredns的配置(随后重启即可)  2、部署coredns  3. 删除原先的pod、service、重新创建。

你可能感兴趣的:(k8s coredns 外网域名解析问题)