Minikube 在启动时挂载 datadir

Minikube 在启动时挂载 datadir

因此,我实际上想启动我的 minikube 集群,并在其上安装一个特殊目录(/data)。此目录包含我的数据库数据。

为此我尝试:

minikube start \
--driver=docker \
--extra-config=apiserver.service-node-port-range=1-35000 \
--disk-size=5000mb \
--mount \
--mount-string="${PWD}/srcs/mysql/datas:/data"

实际上选项--mount似乎--mount-string="${PWD}/srcs/mysql/datas:/data"不起作用。没有显示警告或错误输出,但当我连接到机器并将文件列到 /data 上时,什么也没有出现。我的目录未安装。

如果我使用以下命令挂载目录:minikube mount ${PWD}/srcs/mysql/datas:/data它可以工作,并且我可以在 /data 中列出我的数据。(但我真的想在启动时启动它,现在我做错了什么)。

答案1

发布此社区 wiki 答案以表明该问题已通过以下方式解决:

我删除 Minikube 配置文件夹“~/.minikube”后重试,并更新到 Minikube v1.19.0,并且成功了:minikube start --mount --mount-string="$(pwd):/src


为了检查整个场景,我使用以下设置重现了它:

  • Ubuntu 20.04
  • Docker 20.10.7
  • KVM 4.2.1
  • Minikube
    • v1.22.0(使用相同步骤测试两个版本)
    • v1.19.0

我认为这个问题不是通过删除~/.minikube目录或升级来解决的minikube,而是通过更改为已挂载的目标文件夹

假设设置如下:

  • $ mkdir ~/test
  • $ echo "General Kenobi!" > ~/test/hello_there.txt
  • $ minikube start --mount --mount-string ~/test:/data
  • $ minikube ssh
  • $ ls -al /data
total 8
drwxr-xr-x 2 root root 4096 Jul 13 11:45 .
drwxr-xr-x 1 root root 4096 Jul 13 11:45 ..
  • $ minikube start --mount --mount-string ~/test:/src<-- 注意目的地的变化
  • $ minikube ssh
  • $ ls -al /src <-- 注意目的地的变化
total 12
drwxrwxr-x 2 1003 1004 4096 Jul 13 11:42 .
drwxr-xr-x 1 root root 4096 Jul 13 11:47 ..
-rw-rw-r-- 1 1003 1004   16 Jul 13 11:42 hello_there.txt

可以看出,当挂载到除 之外的目录时,文件可以正确显示/data

附注!

仅当数据成功安装到文件夹时才会出现上述情况--driver=docker--driver=kvm2/data

可以与某些目录的持久性有关minikube。有关更多信息,请参见此处:

另一点补充!

$ minikube mount使用/data作为目标文件夹正常工作。


其他资源:

相关内容