Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como criar um serviço mysql kubernetes com um volume de dados montado localmente?


Você deve criar um Volume permanente , definindo a Classe de armazenamento como local , em seguida, mapeie-o para o caminho local.

Criando classe de armazenamento

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

Em seguida, execute kubectl create -f storage-class.yml

Criando 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

Crie um volume persistente executando kubectl create -f pv-sdc.yml

Por último, crie uma reivindicação de volume persistente

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

Crie uma classe de volume persistente executando kubectl create -f pvc1.yml

Para listar valores persistentes, execute kubectl get pv . Você deve ver alguma saída como
NAME           CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM     STORAGECLASS    REASON    AGE
local-pv       10Gi      RWO            Retain           Available             local-storage             10s

O volume persistente estará disponível assim que um nó o usar.

Isso post pode ajudá-lo um pouco mais.