集群背景:
1.K8S 集群使用的是sealos自建在公司机房 有防火墙,有网关。
2集群配置是 3 个 node 32G/300G节点 3个 master 8G/200G 节点的高可用集群 。
3.zadig 版本是 1.15
问题描述:
下午三点左右通过工作流构建服务,执行时因为网络请求延时导致分支列表不显示,偶出现网络超时问题
通过网络请求的响应发现是 zadig aslan报出的网络超时异常,所以第一时间想着是不是 zadig 组件故障,率先重启了所有 zadig 服务。重启阶段 通过 aslan 组件的日志发现大量 time out 的请求超时日志,所以一直无法启动aslan 组件,zadig 其他组件正常启动。此时 zadig 已经无法访问,页面都无法打开。整个过程持续近一个小时 ,网络状况还是无法改善,此时最多的想法是,放弃 zadig 换产品。
问题解决:
因为我主要搞开发,k8s 跟 zadig 都是我慢慢摸索的进行搭建的。对于 k8s 各种组件的作用及我还是比较了解的。通过检查calico-apiserver、calico-system命名空间下的各个 pod 的日志发现 也有大量超时、延时请求,所以重启了 calico 相关组件。问题得到解决。zadig 网络恢复。
总结:
刚开始看到是aslan报错,第一时间怀疑是 zadig aslan组件有问题,想着重启这个组件解决,但是没有解决,然后看日志发现请求正常进入,那就排除了因为容器资源问题导致aslan 不可用。 因为不了解 zadig 所以第二次尝试重启整个 zadig命名空间下的容器组,发现原本正常的组件,重启之后状态迟迟不能进入 start 状态,一面问号。后来想到k8s 中涉及网络组件的就calico 跟 apiserver 所以就尝试重启了 calico 问题解决。虽然问题解决,但是我不知道为什么 calico 会出现问题。也没有深入下去排查。
总得来说此次线上问题的出现,虽然只是 zadig 作为一个 devops 的工具,但是我让我发现了现在集群存在的网络隐患问题。只是在这个过程中 如果 zadig的错误异常能够直观或者其他方式帮助用户定位问题就好了。
不过 zadig 的工程师还是很不错的,腾讯会议远程帮助我一起定位解决问题。