kubernetes - 如何将临时数据存储到 Kubernetes 集群?
问题描述
我想存储临时数据,例如json 对象,并且可以在当前 pod 和给定 kubernetes 集群中的任何新创建的 pod 之间共享。
我想将它用于检查点目的,我想与当前的 pod 和集群中引入的任何新 pod 共享。即使所有 pod 都被错误地删除,我也不能以任何理由丢失数据。
如果我可以将其隔离到特定的命名空间,那也很有帮助。
如何制作持久数据以跨 pod 存储和共享?
解决方案
您可以在 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 中
推荐阅读
- excel - 单击按钮输入数据时如何修复代码空单元格
- spotfire - 限制所有月份的最大数据天数
- exoplayer - 为什么在使用 exoplayer 玩 Widevine 时调用配置请求?
- php - 托管服务提供商升级到 PHP 7 后如何修复空白 MySQL 查询?
- mongodb - 搜索时索引字段的长度是否重要?
- php - 如何自定义 PHP 导入脚本
- reactjs - 启动单击事件方法时未定义“此”
- vb.net - 意外将“我的设置”重构为“设置”。无法恢复正常
- reactjs - react & redux with hooks:动作必须是普通对象。使用自定义中间件进行异步操作
- node.js - 尝试将插槽编码到我的 Alexa Skill 中时,我做错了什么?