关于dns解析的问题

  • Choerodon平台版本:0.2.1

  • 运行环境:自主搭建

  • 问题描述:

    k8s集群解析有问题,解析域名会偶尔出现解析失败的故障。排查了好几天,还是不知道什么原因,一开始以为是alpine镜像的问题,我有试过自定义cibase镜像,使用的是debian的那个Dockerfile,但是还是出现了这个问题。
    k8s一开始用的是1.14.8,今天升级到1.16,并且换flannel为calico,依旧有解析失败的问题。我现在准备在runner里面注入dnsConfig,通过修改option: ndots:2 来解决这个故障。所以想问下,怎么样才能修改runner的 /etc/resolv.conf 文件

你好,能提供一下出现解析失败的故障日志吗?

Runner并不支持定义dnsConfig,相关文档如下:

https://docs.gitlab.com/runner/executors/kubernetes.html

PS: 可以参考这里使用魔改后的Runner进行设置 HostAliases

顺便说下,k8s是用文档推荐的kubeadm-HA的方式安装的,不知道会不会是这个安装问题,你们有没有收到社区其他人反馈类似的问题呢

fatal: unable to access 'http://gitlab-ci-token:[MASKED]@gitlab.xxx.net/operation-front/micro-frontends-framework.git/': Could not resolve host: gitlab.xxx.net

这里的gitlab.xxx.net 是我们自定义的gitlab的域名,已经在coredns里面配置好了,但是解析失败的时候,coredns并未有报错日志。

你好,并未收到类似反馈,能将coredns配置发出来看看吗

Name: coredns
Namespace: kube-system
Labels:
Annotations:

Data

Corefile:

.:53 {
errors
health
hosts {
192.168.1.100 gitlab.xxxx.net
192.168.1.100 minio.xxxx.net
fallthrough
}
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
}
prometheus :9153
forward . /etc/resolv.conf
cache 30
loop
reload
loadbalance
ready
}

Corefile-backup:

.:53 {
errors
health
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
upstream
fallthrough in-addr.arpa ip6.arpa
}
prometheus :9153
forward . /etc/resolv.conf
cache 30
loop
reload
loadbalance
}

Events:

这是describe的cm配置

问题解决了,是我物理机的问题。

你好,物理机啥问题可以说一下吗

我们公司IT装的系统,没停NetworkManager,然后NetworkManager这个服务呢,会去管理宿主机上面的/etc/reslov.conf文件。在里面生成一个search域,这个估计是当时IT装系统,在图形界面填写的,所以导致各个pod里面也会同时出现这个search域,造成了解析偶尔失败的问题。

1 个赞

我们的也是,被公司IT安装了一个图形界面,然后在上面设置的IP