问题背景描述
在CentOS 7系统上使用yum命令安装软件时一直超时,如下
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/repodata/repomd.xml: [Errno 12] Timeout on https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
解决历程
起初怀疑是DNS的问题,查看/etc/resolv.conf文件,nameserver配置的是114.114.114.114,搜索之后大部分说的也是DNS的问题,但是更改成223.5.5.5问题依旧。
困扰良久后,先使用ping命令查看下域名解析问题,正常,且能ping通,这说明网络是通的,再使用curl命令直接请求后,可以直接请求,而且响应速度非常快,这说明应该是可以正常更新或者安装的。
这时无奈尝试更换yum源试试了(其实已经知道不是网络联通的问题了,此过程没有必要进行),但是问题依旧。
百思不得其解,无奈,开始搜索相同状况,在该网站中提到了/etc/yum.conf这个文件(虽然这个文章中说的是IPv6的问题),从入行到现在一直没有注意到过这个文件,那就看看吧,打开这个文件后发现:
image.png
配置文件中竟然有一个代理地址,这个代理是已经下线的地址,因此出现Timeout的问题就说的通了
解决
删除/etc/yum.conf文件中的proxy行,保存退出,再次执行yum makecache fast
命令,速度正常了,软件也可以正常安装了。
问题产生的原因
此节点和该集群的其他节点都是同样的问题,这些节点都是通过kubespray部署的k8s,在kubespray的ansible配置文件中,配置了代理环境变量,由此,环境变量也注入到了/etc/yum.conf文件中。
结案。