-
Choerodon平台版本:0.19
-
运行环境:自主搭建 ,内网环境
-
问题描述:
- 猪齿鱼平台在 GitLab 运行流水线时在构建或推送镜像是总是出现超时
- 猪齿鱼平台在启动部署实例流程时或者GitLab在运行 CI 的时候,猪齿鱼界面出现响应时间过长和超时情况
-
执行的操作:
- 触发 GitLab CI
- 执行手工部署实例
-
报错信息(请尽量使用代码块或系统截图的形式展现):
你好,从你的三张图能看出的信息和疑问的如下:
第一张图:从runner访问你的harbor访问超时
第二张图:从runner访问 172.16.216.128:10250 超时,这个ip和端口指向的是什么服务?
第三张图:从浏览器访问 apps.t-brdevops.myoas.local 域名超时,这个情况是想复现就可以复现吗?
172.16.216.128 是猪齿鱼所在的其中一个 K8S 服务器节点,端口 10250 是这台服务器的 kubelet 进程所监听的端口。
域名超时的是有概率的,但基本上复现的概率很大。
你可以去runner的容器里尝试ping你的harbor域名和devops-service域名吗?
runner pod 不会长期驻留,执行完应该就被删除了吧?所以您是指的是 gitlab-runner pod 还是就是这个临时生成的 runner ?
gitlab-runner
可以ping通,目前看起来是正常的,不过我注意到的时候负载(CI,部署)在运行的时候才会出现超时和响应时间过长的问题。
奇怪的地方在于,ci是运行在runner中的,对harbor和devops-service为什么会有影响呢?
你能在你进行ci和部署时,查看下harbor和devops-service的资源使用情况吗?
有什么命令可以快速查看容器的资源使用情况吗?harbor 有好几个相关的pod在运行。
我知道的有Kubectl top和你自己装的监控组件(如果有)
刚刚看了一下 kube-system 好像没装任何的监控组件~
那就用kubectl top pod
看吧。
top 也不行:
$ kubectl top pod
Error from server (ServiceUnavailable): the server is currently unable to handle the request (get pods.metrics.k8s.io)
那换一种方式吧,你在界面上先复现浏览器超时那个问题,打开调试工具,看看是哪个请求超时?
这个时候你ping这个域名看看?
这个 ping 命令看起来一直是通的,但是网页上访问域名地址是该超时还是超时。
你这个第一个图是猪齿鱼前端吧?
第二个图应该是gitlab。
从第二个图来看,和服务的逻辑应该没有关系。
gitlab获取job执行情况的那个页面和devops-service是没有关系的。
你确定是和CI/CD有关系,只要没有CI/CD就不会出现超时吗?
172.16.216.128 这个服务器的的 kubelet 日志里有如下的错误,不知道会不会有些影响:
E0327 16:09:33.668151 909 summary_sys_containers.go:47] Failed to get system container stats for "/system.slice/docker.service": failed to get cgroup stats for "/system.slice/docker.service": failed to get container info for "/system.slice/docker.service": unknown container "/system.slice/docker.service"