如题,解决我的问题,发 100 元红包以示感谢。 k8s 集群中有多台 node 节点,目前有 2 个节点上出现了 buildkitd 容器,不清楚该容器来源。想查出来 buildkitd 怎么来的。 https://www.v2ex.com/t/915936#reply7 @docker @Kubernetes @linux
1
ysicing 2023-02-22 14:30:14 +08:00
看看 buildkitd 的 pod yaml 有没有关系信息;另外排查有没有构建容器镜像,这部分有没有用 buildctl 相关的。
|
2
dropdatabase OP @ysicing 感谢回复,使用 kubectl get -A 查找,集群中不存在 buildkitd 相关的 pod 、deployment 、svc 相关的资源。
|
3
defunct9 2023-02-22 14:35:50 +08:00
开 ssh ,让我上去看看
|
4
dropdatabase OP @ysicing 构建容器镜像使用的 docker ,Jenkins 拉起 slave pod 制作镜像,查找了相关的配置,无实际进展。
|
5
Judoon 2023-02-22 14:38:23 +08:00
只要能访问到 docker 的 socket 就都能创建,这点比较难排查。
有可能是用其他机器上 docker 客户端直接通过配置 ssh 访问机器上的 docker socket ,或者 k8s 发布的时候,yaml 中将 sockcs 路径映射到 pod 中,这样在 pod 中就能使用 docker 客户端命令(包括 buildx )来创建。不依赖宿主机上有没有 buildx 子命令 |
6
dropdatabase OP @Judoon 应该是你说的这种情况,docker socket 挂载进了 slave pod 。因为宿主机就没有 buildx 命令。。。但是构建镜像时使用了 buildx....大佬 有何高招?
|
7
seers 2023-02-22 14:48:32 +08:00 via iPhone
去 control plane 查 api ,scheduler ,controller 日志,还有 node 的 kubelet 日志,对照看看总有蛛丝马迹
|
8
Judoon 2023-02-22 15:05:24 +08:00
@dropdatabase 你把当前调度到此台机器的 pod 取出来,看一下,有没有挂载 /var/run/docker.sock 路径的
|
9
Judoon 2023-02-22 15:07:45 +08:00
再者把 docker daemon 的日志级别调一下看看有没有打出来调用方
|
10
dropdatabase OP @Judoon 大佬 请留个联系方式,奉上红包以示感谢。
|
11
Judoon 2023-02-22 15:22:24 +08:00
@dropdatabase 查到了? dGFyZGlzX2ZhbmcK
|
12
Lake1xiongyi 2023-02-22 15:24:50 +08:00
1.检查系统中所有正在运行的容器 docker ps
2.获取 buildkitd 容器的 ID docker inspect -f '{{.id}}' buildkitd 3.rpm -qf /var/lib/docker/overlay2/<container_id>/merged |