web-dev-qa-db-ja.com

ミニクベボリューム

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を直接インストールする必要がありますか?

11
Tristan

以下はMinikubeの貢献者からの回答であり、ドキュメントに問題があったことを確認しています:

もう少し理解できるように、Readmeを書き直しました。

ホストは、minikubeを実行しているコンピューターです。これは、VMマウントされたホストフォルダーを通じてのみ公開されます https://github.com/kubernetes/minikube#mounted-Host-folders

ゲストまたはminikube VMは、特定のフォルダーをホストに保存されているディスク(〜/ .minikube/machines/minikube/disk.vmdkなど)に永続化します。 minikubeの特定のディレクトリに保存されているファイルVMは、開始/停止の間は保持されますが、削除はされません。

ソース: https://github.com/kubernetes/minikube/issues/1184

3
Tristan

これは ドキュメント でカバーされています。関連セクションは、すでに引用した文の直後から始まります。

ただし、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ボリュームを宣言するだけで、これらは再起動後も保持されます。

7
helmbert

または、 https://github.com/reachlin/k8s0/ を試すこともできます。これは、ansibleを使用して単一のホストにインストールされた本格的なkubernetesです。

0
reachlin