【问题标题】:Skaffold dev with remote docker context具有远程 docker 上下文的 Skaffold 开发
【发布时间】:2021-09-30 04:31:00
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: docker kubernetes minikube skaffold


    【解决方案1】:

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

    【讨论】:

    • 请问,如何修改 DOCKER_HOST 变量?我想让 minikube(来自桌面)使用笔记本电脑中设置的 Docker 上下文
    • 我自己没有尝试过,但我认为您可以使用eval $(minikube docker-env --ssh-host)。如果使用 Docker 运行时,您可能需要使用 --network host 启动 minikube。如果使用基于 VM 的运行时,其中 VM 将具有单独的 IP,那么您可能需要配置 SSHJumpHostredhat.com/sysadmin/ssh-proxy-bastion-proxyjump
    猜你喜欢
    • 2021-04-09
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-19
    相关资源
    最近更新 更多