记一次 k3s DNS 问题解决

之前搭建了一个单节点的 k3s 集群,运行良好,最近又购得一台同区域的服务器,打算把原本 k3s 扩展为多节点集群。 按照文档 https://docs.k3s.io/networking/distributed-multicloud 部署好后,发现集群内 DNS 域名解析有一个奇怪的现象。 pod 内时不时会报错 dns 解析失败,导致各种内部或者外部请求超时。 一开始是以为 coredns 压力太大,扩展成多个副本,并且加上了 localdns 缓存,但是问题依旧存在。 又怀疑是不是 Embedded k3s multicloud solution 的问题,考虑换成另一种方案 Integration with the Tailscale VPN provider (experimental)? 后面在 debug 的过程中发现问题出现的很有规律,几次解析很快,然后突然变慢一次,经过跟 chatgpt 的交流,最后终于定位到问题,原来是由于 /proc/sys/net/netfilter/nf_conntrack_max 满了。因为之前的机器配置很高,所以这个配置的默认值也很大,不会有这个问题,但是新的机器配置比较低,所以这个配置的默认值比较小,导致这个机器上的 pod 在解析 dns 的时候时不时会超时。 解决办法很简单,就是调大这个配置的值即可。 echo 'net.netfilter.nf_conntrack_max=1000000' >> /etc/sysctl.conf sysctl -p 问题就解决了,pod 内解析 dns 恢复正常。

September 24, 2025

记一次k8s删不不掉namespace的处理方式

在使用 k8s 的时候,偶然遇到了一个问题,就是死活删不掉 namespace。这个 namespace 处于 Terminating 状态已经十多天,虽然对 k8s 本身并没有什么影响,但是对于我这种强迫症来说很痛苦。 网上也查询了很多种处理方式,大部分都是讲 namespace 以 json 格式导出,然后删除spec部分,再调用 rest 接口,然而我一直都没有成功。 最后不知道在哪里看到一篇文章,直接调用 etcdctl,执行docker exec -it etcd etcdctl del /registry/namespaces/delete-me,因为我的 etcd 是一容器安装的,最终删除成功,治好了强迫症。

June 17, 2020

关于idea连接docker无法下载docker-java.jar问题解决

最近使用idea连接docker是遇到一个问题,就是一直无法连接,提示是无法从maven的中央仓库下载docker-java.jar。但是我的settings.xml已经更改为阿里云镜像了,那是因为什么呢?网上百度了一番没有找到答案,我猜测idea的maven默认使用的maven仓库并不是我们自己配置的,应该是idea自己确定的。 于是寻找了一番,最终定位到这个文件: 打开查看一番,果不然奇然是定义好的jar下载的仓库地址,于是改成阿里云的地址,像这样 再次连接docker,速度嗖嗖的就上来了,成功解决该问题。

May 12, 2017