Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment créer un service mysql kubernetes avec un volume de données monté localement ?

Vous devez créer un Volume persistant , définissant la Classe de stockage comme Local , puis mappez-le sur le chemin local.

Création d'une classe de stockage

classe-de-stockage.yml

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer

Ensuite, exécutez kubectl create -f storage-class.yml

Créer une valeur persistante

pv-local.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pv
spec:
  capacity:
    storage: 10Gi
  accessModes:
  - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  storageClassName: local-storage
  local:
    path: /mnt/data
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: kubernetes.io/hostname
          operator: In
          values:
          - cka

Créer un volume persistant en exécutant kubectl create -f pv-sdc.yml

Une dernière réclamation de volume persistante

pvc1.yml

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pvc1
spec:
  accessModes:
  - ReadWriteOnce
  storageClassName: local-storage
  resources:
    requests:
      storage: 10Gi

Créer un volume persistant en exécutant kubectl create -f pvc1.yml

Pour lister les valeurs persistantes, exécutez kubectl get pv . Vous devriez voir une sortie comme

NAME           CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM     STORAGECLASS    REASON    AGE
local-pv       10Gi      RWO            Retain           Available             local-storage             10s

Le volume persistant sera disponible dès qu'un nœud l'utilisera.

Ceci message peut vous aider un peu plus.