gpt4 book ai didi

docker - minikube 无法在 ubuntu 20.04 LTS 上启动。由于 GUEST_PROVISION 退出

转载 作者:行者123 更新时间:2023-12-03 18:36:15 26 4
gpt4 key购买 nike

我正在尝试使用 docker 驱动程序在安装了 ubuntu 桌面 20.04 LTS 的 VM 中设置 minikube。
我已经按照步骤 here ,并且还考虑了与运行时安全选项有关的 docker 驱动程序的限制(报告为 here)。当我尝试启动 minikube 时,我得到的错误是:无法启动主机:创建主机:创建:创建:准备 kic ssh:复制 pub key 。
这就是我为安装带有 minikube 的全新 VM 所做的工作。

  • 安装docker
  • 将我的用户添加到 docker 组,否则 minkube start 将失败,因为 dockerd 以 root 身份运行(在 docker 术语中也称为 Rootless 模式)。
  • 安装 kubectl(这不是必需的,但我选择了这个而不是 minikube 中的嵌入式 kubectl)
  • 安装 minikube

  • 当我启动 minikube 时,这就是我得到的:
    ubuntuDesktop:~$ minikube start
    😄 minikube v1.16.0 on Ubuntu 20.04
    ✨ Using the docker driver based on user configuration
    👍 Starting control plane node minikube in cluster minikube
    🔥 Creating docker container (CPUs=2, Memory=4500MB) ...
    ✋ Stopping node "minikube" ...
    🛑 Powering off "minikube" via SSH ...
    🔥 Deleting "minikube" in docker ...
    🤦 StartHost failed, but will try again: creating host: create: creating: prepare kic ssh: copying pub key: docker copy /tmp/tmpf-memory-asset051825440 into minikube:/home/docker/.ssh/authorized_keys, output: lstat /tmp/tmpf-memory-asset051825440: no such file or directory
    : exit status 1
    🔥 Creating docker container (CPUs=2, Memory=4500MB) ...
    😿 Failed to start docker container. Running "minikube delete" may fix it: creating host: create: creating: prepare kic ssh: copying pub key: docker copy /tmp/tmpf-memory-asset544814591 into minikube:/home/docker/.ssh/authorized_keys, output: lstat /tmp/tmpf-memory-asset544814591: no such file or directory
    : exit status 1

    ❌ Exiting due to GUEST_PROVISION: Failed to start host: creating host: create: creating: prepare kic ssh: copying pub key: docker copy /tmp/tmpf-memory-asset544814591 into minikube:/home/docker/.ssh/authorized_keys, output: lstat /tmp/tmpf-memory-asset544814591: no such file or directory
    : exit status 1

    😿 If the above advice does not help, please let us know:
    👉 https://github.com/kubernetes/minikube/issues/new/choose
    我怀疑该错误与 docker 驱动程序的安全设置问题有关,但这似乎就像一只追逐尾部的狗:如果我不在 docker 中使用无根模式,我尝试使用 sudo 启动 minikube(所以docker 也可以以特权用户启动),然后我得到这个:
    ubuntuDesktop:~$ sudo minikube start
    [sudo] password for alberto:
    😄 minikube v1.16.0 on Ubuntu 20.04
    ✨ Automatically selected the docker driver. Other choices: virtualbox, none
    🛑 The "docker" driver should not be used with root privileges.
    💡 If you are running minikube within a VM, consider using --driver=none:
    📘 https://minikube.sigs.k8s.io/docs/reference/drivers/none/

    ❌ Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.
    所以,或者我遗漏了一些东西,或者 minikube 根本不能与 docker 驱动程序一起工作,我对此表示怀疑。
    这是我的环境信息:
    ubuntuDesktop:~$ docker version
    Client:
    Version: 19.03.11
    API version: 1.40
    Go version: go1.13.12
    Git commit: dd360c7
    Built: Mon Jun 8 20:23:26 2020
    OS/Arch: linux/amd64
    Experimental: false

    Server:
    Engine:
    Version: 19.03.11
    API version: 1.40 (minimum version 1.12)
    Go version: go1.13.12
    Git commit: 77e06fd
    Built: Mon Jun 8 20:24:59 2020
    OS/Arch: linux/amd64
    Experimental: false
    containerd:
    Version: v1.2.13
    GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
    runc:
    Version: 1.0.0-rc10
    GitCommit:
    docker-init:
    Version: 0.18.0
    GitCommit: fec3683

    ubuntuDesktop:~$ minikube version
    minikube version: v1.16.0
    commit: 9f1e482427589ff8451c4723b6ba53bb9742fbb1-dirty
    如果有人在 ubuntu 20.04 上使用 minikube 并且可以共享版本和驱动程序,我将不胜感激。使用 minikube 和 docker 站点中的信息,我不知道还要检查什么才能使这项工作。

    最佳答案

    解决方案:
    正如我在评论中提到的,您可能只需要运行:

    docker system prune
    然后:
    minikube delete
    最后:
    minikube start --driver=docker
    这应该会有所帮助。
    解释:
    尽管正如我在评论中已经提到的那样,很难说您的具体情况是什么问题,但这种情况可能是由于之前尝试运行您的 失败而发生的。迷你酷贝 实例。
    当使用不同的驱动程序并且它作为 运行时,有时也会发生这种情况。虚拟机 并基本上删除这样的 虚拟机 可能会有所帮助。通常运行 minikube delete && minikube start足够。
    在这种情况下,当 --driver=docker使用,您的 迷你酷贝 实例被配置为您的 中的容器 docker 运行时但除了容器本身之外,还配置了网络或存储等其他内容。
    docker system prune 命令删除所有未使用的容器、网络、图像(悬空和未引用)以及可选的卷。所以我们可以肯定地说它是上述之一。
    从确切的错误信息来看:
    ❌  Exiting due to GUEST_PROVISION: Failed to start host: creating host: create: creating: prepare kic ssh: copying pub key: docker copy /tmp/tmpf-memory-asset544814591 into minikube:/home/docker/.ssh/authorized_keys, output: lstat /tmp/tmpf-memory-asset544814591: no such file or directory
    : exit status 1
    我想这可能只是清除一些 cached对您的情况有所帮助的数据并删除对不存在文件的损坏引用。上面的消息很清楚地解释了什么是不能做的,即 docker 不能 copy一个 public ssh key到目的地 minikube:/home/docker/.ssh/authorized_keys作为源文件 /tmp/tmpf-memory-asset544814591 ,它试图从中复制它,根本不存在。所以说到底发生了什么其实很简单,但是要想知道为什么会发生,可能需要更深入地了解 。 docker 迷你酷贝 内部原理,一步一步分析如何 迷你酷贝 使用 --driver=docker 时配置实例.
    您可以尝试分析您的 ,这是一个很好的观点。 docker 日志,但我严重怀疑你会在那里找到不存在临时文件的确切原因 /tmp/tmpf-memory-asset544814591被引用或为什么它不存在。

    关于docker - minikube 无法在 ubuntu 20.04 LTS 上启动。由于 GUEST_PROVISION 退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65397050/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com