Как сохранить временные данные в кластере Kubernetes?

#kubernetes #azure-aks

#kubernetes #azure-aks

Вопрос:

Я хочу хранить временные данные, такие как объект json, которые можно совместно использовать между текущими модулями и любыми вновь созданными модулями в данном кластере kubernetes.

Я хотел бы использовать это для целей контрольных точек, которыми я хотел бы поделиться с текущими модулями и любыми новыми модулями, которые будут представлены в кластере. Я не могу потерять данные по какой-либо причине, даже если все модули будут удалены по ошибке.

Если я могу изолировать это для определенного пространства имен, это также полезно.

Как я могу создать постоянные данные для хранения и совместного использования между модулями?

Ответ №1:

В kubernetes можно использовать концептуальный вызов PV и PVC.

 kind: PersistentVolume
apiVersion: v1
metadata:
  name: sql-pv-volume
  labels:
    type: local
spec:
  capacity:
    storage: 20Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: "/mnt/data"
  persistentVolumeReclaimPolicy: Retain
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: sql-pv-claim
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 20Gi
  

это создаст pvc в вашем кластере kubernetes, и вы сможете прикрепить его к pods.

 volumeMounts:
        - name: mysql-persistent-storage
          mountPath: /var/lib/mysql
      volumes:
      - name: mysql-persistent-storage
        persistentVolumeClaim:
          claimName: sql-pv-claim
  

если ваш модуль будет удален, то там также будут данные в PVC

Комментарии:

1. если ваш модуль будет удален, то там также будут данные в PVC

Ответ №2:

Для этой цели можно использовать PersistentVolume и PersistentVolumeClaim. Это решение, предлагаемое k8s для постоянных данных. Запишите все данные в PVC, которые вы не хотите потерять, даже если все модули умрут. Также данные, записанные в PV, могут совместно использоваться pod в качестве volumeMounts. Существует множество способов создания PV и PVC, таких как hostPath, NFS и т.д. Пожалуйста, ознакомьтесь с документами k8s для получения более подробной информации и подходящего типа PV для вашего варианта использования.

Комментарии:

1. Как бы вы создали persistentvolume с нуля и как использовать их с контейнерами?

2. Здесь очень сложно объяснить все детали PV… Не могли бы вы, пожалуйста, перейти по этой ссылке… В нем будут предоставлены все детали, необходимые для реализации kubernetes.io/docs/concepts/storage/persistent-volumes /…