web-dev-qa-db-fra.com

Volumes minikube

Minikube est censé faciliter l’exploitation de Kubernetes en local, non seulement pour "démarrer", mais aussi pour "des flux de travail de développement quotidiens".

source: https://github.com/kubernetes/minikube/blob/master/ROADMAP.md#goals

Mais je peux aussi lire que: "Les volumes persistants sont mappés sur un répertoire de la machine virtuelle minikube. Le Minikube VM démarre dans un tmpfs, de sorte que la plupart des répertoires ne seront pas conservés lors des redémarrages (arrêt de minikube)"

source: https://kubernetes.io/docs/getting-started-guides/minikube/#persistent-volumes

Et si mes développements nécessitent un stockage persistant (base de données MySQL, base de données mongodb, ...)? Dois-je lancer mon minikube et installer directement les Kubernetes complets?

5
Tristan

Voici la réponse d'un contributeur Minikube, confirmant qu'il y avait un problème dans la documentation:

J'ai reformulé le fichier Lisez-moi pour qu'il soit un peu plus logique.

L'hôte est l'ordinateur sur lequel vous exécutez minikube. Ceci est uniquement exposé à la VM via les dossiers de l'hôte montés https://github.com/kubernetes/minikube#mounted-Host-folders

L'invité, ou minikube VM, conservera certains dossiers sur un disque stocké sur l'hôte (par exemple, ~/.minikube/machines/minikube/disk.vmdk). Les fichiers stockés dans certains répertoires du minikube VM persisteront entre le démarrage et l’arrêt, mais ne seront pas supprimés.

source: https://github.com/kubernetes/minikube/issues/1184

3
Tristan

Ceci est couvert dans la documentation . La section pertinente commence juste après la phrase que vous avez déjà citée:

Toutefois, Minikube est configuré pour conserver les fichiers stockés dans les répertoires d’hôte suivants:

  • /Les données
  • / var/lib/localkube
  • / var/lib/docker

Voici un exemple de configuration PersistentVolume permettant de conserver des données dans le répertoire ‘/ data’:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv0001
spec:
  accessModes:
    - ReadWriteOnce
  capacity:
    storage: 5Gi
  hostPath:
    path: /data/pv0001/

Déclarez simplement les volumes hostPath qui sont mappés vers n'importe quel répertoire dans /data sur l'hôte, et ils devraient persister après les redémarrages.

7
helmbert

Ou vous pouvez essayer https://github.com/reachlin/k8s0/ , qui est un kubernetes à part entière installé sur un seul hôte en utilisant ansible.

0
reachlin