Minikubeは、「はじめに」だけでなく「日常の開発ワークフロー」でも、Kubernetesをローカルで簡単に実行できるようにするためのものです。
ソース: https://github.com/kubernetes/minikube/blob/master/ROADMAP.md#goals
ただし、「PersistentVolumeはminikube VM内のディレクトリにマップされます。MinikubeVMはtmpfsで起動するため、ほとんどのディレクトリは再起動後も保持されません(minikube停止)」
ソース: https://kubernetes.io/docs/getting-started-guides/minikube/#persistent-volumes
では、開発に永続ストレージ(MySQLデータベース、mongodbデータベースなど)が必要な場合はどうなりますか? Minikubeをスローして、完全なKubernetesを直接インストールする必要がありますか?
以下はMinikubeの貢献者からの回答であり、ドキュメントに問題があったことを確認しています:
もう少し理解できるように、Readmeを書き直しました。
ホストは、minikubeを実行しているコンピューターです。これは、VMマウントされたホストフォルダーを通じてのみ公開されます https://github.com/kubernetes/minikube#mounted-Host-folders
ゲストまたはminikube VMは、特定のフォルダーをホストに保存されているディスク(〜/ .minikube/machines/minikube/disk.vmdkなど)に永続化します。 minikubeの特定のディレクトリに保存されているファイルVMは、開始/停止の間は保持されますが、削除はされません。
これは ドキュメント でカバーされています。関連セクションは、すでに引用した文の直後から始まります。
ただし、Minikubeは、次のホストディレクトリに保存されているファイルを保持するように構成されています。
- /データ
- / var/lib/localkube
- / var/lib/docker
以下は、「/ data」ディレクトリにデータを永続化するPersistentVolume構成の例です。
apiVersion: v1 kind: PersistentVolume metadata: name: pv0001 spec: accessModes: - ReadWriteOnce capacity: storage: 5Gi hostPath: path: /data/pv0001/
ホスト上の/data
の任意のディレクトリにマップされているhostPath
ボリュームを宣言するだけで、これらは再起動後も保持されます。
または、 https://github.com/reachlin/k8s0/ を試すこともできます。これは、ansibleを使用して単一のホストにインストールされた本格的なkubernetesです。