首页 > 解决方案 > 如何将临时数据存储到 Kubernetes 集群?

问题描述

我想存储临时数据,例如json 对象,并且可以在当前 pod 和给定 kubernetes 集群中的任何新创建的 pod 之间共享。

我想将它用于检查点目的,我想与当前的 pod 和集群中引入的任何新 pod 共享。即使所有 pod 都被错误地删除,我也不能以任何理由丢失数据。

如果我可以将其隔离到特定的命名空间,那也很有帮助。

如何制作持久数据以跨 pod 存储和共享?

标签: kubernetesazure-aks

解决方案


您可以在 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

它将在您的 kubernetes 集群中创建 pvc,您可以将其附加到 pod。

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

如果您的 pod 将被删除,那么数据也将存在于 PVC 中


推荐阅读