Minikube は、Minikube の起動時にデータディレクトリをマウントします。

Minikube は、Minikube の起動時にデータディレクトリをマウントします。

そのため、実際には、/data にマウントされた特別なディレクトリを使用して minikube クラスターを起動したいと思います。このディレクトリには、DB データが含まれています。

そのために私は次のことを試みます:

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正しく動作しました。


追加リソース:

関連情報