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?
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.
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.
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.