Mysql
 sql >> Database >  >> RDS >> Mysql

Come creare un servizio mysql kubernetes con un volume di dati montato localmente?

Devi creare un Volume persistente , definendo la Classe di archiviazione come locale , quindi mappalo sul percorso locale.

Creazione della classe di archiviazione

classe-storage.yml

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

Quindi esegui kubectl create -f storage-class.yml

Creazione di valore persistente

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

Crea un volume persistente con kubectl create -f pv-sdc.yml

Un ultimo, crea una richiesta di volume persistente

pvc1.yml

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

Crea clain di volume persistente eseguendo kubectl create -f pvc1.yml

Per elencare i valori persistenti, esegui kubectl get pv . Dovresti vedere un output come

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

Il volume persistente sarà disponibile non appena un nodo lo utilizzerà.

Questo il post potrebbe aiutarti un po' di più.