如何解决Docker 镜像在构建过程中消失;找不到图像Docker 资源设置或 K8s 垃圾收集?
我正在运行一个使用 docker 运行时的 kubernetes 集群 - 它运行在用户正在构建独立于集群的 docker 镜像的同一系统上。我的预感是 kubernetes 正在删除这些新构建的镜像以释放资源。
我在哪里遇到过这个问题
我正在使用按顺序启动 docker 构建的 bash 脚本来构建多个相互依赖的图像。
在成功构建“基础镜像”并移动到下一个依赖镜像后,我遇到了一个错误,好像之前构建的镜像不再存在一样。
manifest for localhost:5000/base-image:latest not found: manifest unknown: manifest unknown
注册表和 docker 守护程序已正确配置,因此我认为与此无关。我之前在 kubernetes 集群未启动时(并在将其关闭后再次运行)运行了该脚本,并且能够成功构建堆栈中的所有图像。
我正在尝试找出可能导致 kubernetes 在构建图像时删除图像的原因。
从我在系统消息日志中可以找到的var/log/messages
:
Feb 17 16:36:16 iI containerd: time="2021-02-17T16:36:16.786891431-05:00" level=info msg="shim disconnected" id=a711115b49c48e724eb26beb864e591d39c67d7451df6b9d3f7b64a8295dcdc0
Feb 17 16:36:16 iI dockerd: time="2021-02-17T16:36:16.786712381-05:00" level=info msg="ignoring event" container=a711115b49c48e724eb26beb864e591d39c67d7451df6b9d3f7b64a8295dcdc0 module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Feb 17 16:36:16 iI kernel: docker0: port 2(vetheb1f56e) entered disabled state
Feb 17 16:36:16 iI NetworkManager[38959]: <info> [1613597776.8478] manager: (veth35fa35a): new Veth device (/org/freedesktop/NetworkManager/Devices/256)
Feb 17 16:36:16 iI kernel: docker0: port 2(vetheb1f56e) entered disabled state
Feb 17 16:36:16 iI kernel: device vetheb1f56e left promiscuous mode
Feb 17 16:36:16 iI kernel: docker0: port 2(vetheb1f56e) entered disabled state
Feb 17 16:36:16 iI NetworkManager[38959]: <info> [1613597776.9086] device (vetheb1f56e): released from master device docker0
Feb 17 16:36:18 iI kernel: docker0: port 2(vethe5c7147) entered blocking state
Feb 17 16:36:18 iI kernel: docker0: port 2(vethe5c7147) entered disabled state
Feb 17 16:36:18 iI kernel: device vethe5c7147 entered promiscuous mode
Feb 17 16:36:18 iI kernel: IPv6: ADDRCONF(NETDEV_UP): vethe5c7147: link is not ready
Feb 17 16:36:18 iI kernel: docker0: port 2(vethe5c7147) entered blocking state
Feb 17 16:36:18 iI kernel: docker0: port 2(vethe5c7147) entered forwarding state
Feb 17 16:36:18 iI kernel: docker0: port 2(vethe5c7147) entered disabled state
Feb 17 16:36:18 iI NetworkManager[38959]: <info> [1613597778.5150] manager: (vethf13a760): new Veth device (/org/freedesktop/NetworkManager/Devices/257)
Feb 17 16:36:18 iI NetworkManager[38959]: <info> [1613597778.5159] manager: (vethe5c7147): new Veth device (/org/freedesktop/NetworkManager/Devices/258)
Feb 17 16:36:18 iI containerd: time="2021-02-17T16:36:18.526369134-05:00" level=info msg="starting signal loop" namespace=moby path=/run/containerd/io.containerd.runtime.v2.task/moby/6c66f06f0ec2fff4d284e6c598f34dba372c1ad5a269638419ad4496244cd562 pid=272341
Feb 17 16:36:18 iI kernel: nf_conntrack: falling back to vmalloc.
Feb 17 16:36:18 iI kernel: nf_conntrack: falling back to vmalloc.
Feb 17 16:36:18 iI kernel: IPVS: Creating netns size=2048 id=34
Feb 17 16:36:18 iI kernel: IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Feb 17 16:36:18 iI kernel: IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Feb 17 16:36:18 iI kernel: IPv6: ADDRCONF(NETDEV_CHANGE): vethe5c7147: link becomes ready
Feb 17 16:36:18 iI kernel: docker0: port 2(vethe5c7147) entered blocking state
Feb 17 16:36:18 iI kernel: docker0: port 2(vethe5c7147) entered forwarding state
Feb 17 16:36:18 iI NetworkManager[38959]: <info> [1613597778.7235] device (vethe5c7147): carrier: link connected
Feb 17 16:37:26 iI dockerd: time="2021-02-17T16:37:26.714206003-05:00" level=info msg="ignoring event" container=6c66f06f0ec2fff4d284e6c598f34dba372c1ad5a269638419ad4496244cd562 module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
Feb 17 16:37:26 iI containerd: time="2021-02-17T16:37:26.714307895-05:00" level=info msg="shim disconnected" id=6c66f06f0ec2fff4d284e6c598f34dba372c1ad5a269638419ad4496244cd562
Feb 17 16:37:26 iI kernel: docker0: port 2(vethe5c7147) entered disabled state
Feb 17 16:37:26 iI NetworkManager[38959]: <info> [1613597846.7747] manager: (vethf13a760): new Veth device (/org/freedesktop/NetworkManager/Devices/259)
Feb 17 16:37:26 iI kernel: docker0: port 2(vethe5c7147) entered disabled state
Feb 17 16:37:26 iI kernel: device vethe5c7147 left promiscuous mode
Feb 17 16:37:26 iI kernel: docker0: port 2(vethe5c7147) entered disabled state
Feb 17 16:37:26 iI NetworkManager[38959]: <info> [1613597846.8345] device (vethe5c7147): released from master device docker0
Feb 17 16:37:32 iI dockerd: time="2021-02-17T16:37:32.422000932-05:00" level=info msg="Layer sha256:9999447d31d74880dccc238c9d55b1f00bd4a81ac6367dfa3c3013efb91cf1ef cleaned up"
Feb 17 16:37:32 iI dockerd: time="2021-02-17T16:37:32.542365965-05:00" level=info msg="Layer sha256:9999447d31d74880dccc238c9d55b1f00bd4a81ac6367dfa3c3013efb91cf1ef cleaned up"
问题:
这是否与 docker 资源设置不足有关?还是我们需要调整机器上单独运行的kubernetes垃圾收集设置? 关于要寻找什么或在哪里继续调查有什么想法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。