StatefulSet StatefulSet Kubernetes:StatefulSet

Après avoir vu comment accéder à une base de données externe, nous allons voir comment mettre une base de données dans notre cluster.

Un pod peut s’instancier sur n’importe quel node en fonction des ressources disponibles. Si cela fonctionne très bien pour des services sans conservation de l’état (stateless), ce n’est pas le cas des bases de données dont le rôle même est la conservation des données.

Au début de Kubernetes, une astuce consistait à forcer l’exécution d’un pod sur un node précis via une sélection par l’attribut nodeName ou bien à utiliser les mécanismes de nodeAffinity ou nodeSelector, pour nous assurer qu’un pod était instancié sur le node ayant des répertoires dédiés au stockage des données du pod, que le pod pouvait monter directement avec hostpath.

apiVersion: v1 
kind: Pod 
metadata: 
  labels: 
    app: mariadb 
  name: mariadb 
spec: 
  volumes: 
  - name: test-volume 
    hostPath: 
      path: /data/mariadb 
      type: DirectoryOrCreate 
  containers: 
  - image: mariadb:10.5.8 
    name: mariadb 
    nodeName: k8s-worker01 ...
Pour consulter la suite, découvrez le livre suivant :
couv_EPHADIS.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Secret et ConfigMap
Suivant
PersistentVolume