背景简介
Kubernetes 启动容器时,使用本地路径进行数据持久化。
环境配置
- Kubernetes 已安装。【参考链接】
详细步骤
第一步: 自定义 StorageClass
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: es-local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
第二步: 自定义 PersistentVolume
并使用先前定义的 StorageClass
apiVersion: v1
kind: PersistentVolume
metadata:
name: es-pv
spec:
capacity:
storage: 30Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: es-local-storage
local:
path: /path/to/es/pv/pv1
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- your-node-name
Note: your-node-name
可以通过以下指令获取
myserver@pega-minikube-poc:~/pega/srs$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane 172m v1.32.0
第三步: 在 volumeClaimTemplate
指定 StorageClass
绑定 PersistentVolume
volumeClaimTemplates:
- metadata:
name: es-vct
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: "es-local-storage"
resources:
requests:
storage: 1Gi
以上便是本文的全部内容,感谢您的阅读。