如何解决Docker-Desktop Kubernetes 在
我目前遇到了我的 docker-desktop 设置问题。
我使用 docker-desktop 和 docker-compose 以及集成的 Kubernetes 集群进行调试。通常,我的工作流程包括在 docker-compose 中通过应用程序运行,并使用集成的 Visual Studio 2019 开发工作流程。这也意味着我正在使用 VS 集成 docker 工作流和卷挂载等。
除此之外,我偶尔会在 Release 中构建所有映像并将它们上传到 ACR,然后将它们拉入我的 Kubernetes 集群。
最近我还想查看用于本地开发的工具“skaffold”,但是每当我用它构建所有图像时,我的 Kubernetes 集群突然遇到 DiskPressure
。一旦我运行 docker system prune
并清理所有图像/容器,它就会再次运行。
我特地回来查看,我分配给 docker 的磁盘空间甚至还没有接近满。另外,我的 kubelet 上设置的驱逐阈值没有达到。
但是,我注意到我的 kubernetes 集群引发了以下错误,这可能也会导致 DiskPressure 错误:
wanted to free 5694854758 bytes,but freed 5617398719 bytes space with errors in image deletion: [rpc error: code = Unknown desc = Error response from daemon: conflict: unable to remove repository reference "frontend:dev" (must force) - container f638acaa6d9c is using its referenced image 8688fb11a32a...
基本上我在本地 docker-compose 旁边运行的每个容器都会发生此错误。每次我尝试运行 skaffold dev
时都会发生这种情况。
我真的很想知道发生了什么。
编辑:
我能够仔细看看发生了什么。当 skaffold dev
开始部署时,Kubernetes 集群运行到 DiskPressure。我现在可以在关于“节点的临时存储空间不足的警告消息中检查引用的容器和图像 ID。在我的示例中,假设我在本地 docker-compose 调试会话中运行 frontendservice:dev
,并且容器运行良好。现在,我正在构建与 myAzureCr.cr.io/frontendservice:testing
相同代码的单独版本,将其上传到我的 ACR,并尝试在我的集群中使用它。
我刚刚检查的警告现在想要使用 frontendservice:dev
删除和清理容器,这与集群中发生的事情完全无关。这是怎么回事?尽管如此,使用的磁盘空间甚至不接近我分配给 docker 使用的空间。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。