sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo crear un servicio mysql kubernetes con un volumen de datos montado localmente?

Debe crear un Volumen persistente , definiendo la Clase de almacenamiento como Local , luego asígnelo a la ruta local.

Crear clase de almacenamiento

clase-de-almacenamiento.yml

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

Luego ejecute kubectl create -f storage-class.yml

Creación de valor 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

Cree un volumen persistente ejecutando kubectl create -f pv-sdc.yml

Por último, cree una reclamación de volumen persistente

pvc1.yml

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

Cree una declaración de volumen persistente ejecutando kubectl create -f pvc1.yml

Para enumerar los valores persistentes, ejecute kubectl get pv . Deberías ver algún resultado como

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

El volumen persistente estará disponible tan pronto como un nodo lo use.

Esto la publicación puede ayudarte un poco más.