首页 > 解决方案 > 具有远程 docker 上下文的 Skaffold 开发

问题描述

我正在开发一个基于 Kubernetes 的所有基础设施的 Web 应用程序。在我的本地环境中,我使用的是 Skaffold。我有两台电脑(台式机和笔记本电脑),每台都有 8Gb 的 RAM。通过启动 minikube(virtualbox 驱动程序),skaffold devDesktop 冻结。

所以我决定使用笔记本电脑进行编码,使用台式机运行 minikube 和所有相关的东西。

我成功地在笔记本电脑上设置了kubeconfig,以便与 minikube 服务器建立上下文关系。

实际上,问题是脚手架。当我运行时skaffold dev,它会失败,因为 Desktop 的 minikube 在我的笔记本电脑上看不到 skaffold 构建的图像。kubectl get po返回ImagePullBackOff。那是因为 skaffold 使用本地 docker 来构建镜像。问题是如何让 skaffold 在我的桌面上使用 docker install?我更改了笔记本电脑的 docker 上下文,使其链接到桌面上下文,但它仍然无法正常工作,skaffold 仍在使用我笔记本电脑中安装的默认 docker 上下文。

如何使 Skaffold 构建的图像在我的桌面上可用?Skaffold 是否可以使用远程 docker 上下文?如果是,如何?

标签: dockerkubernetesminikubeskaffold

解决方案


Minikube 使用自己的 Docker 安装来为其集群供电。该守护进程在 Minikube 的 VM(或容器,如果使用docker驱动程序)中运行,并且完全独立于主机的 Docker 守护进程(您的桌面)。您可以通过设置返回的环境来访问 Minikube 的守护进程minikube docker-env


推荐阅读