无法在本地存储类上设置具有持久卷的couchbase运算符1.2



我正在尝试在本地系统上设置couchbase操作符1.2。我遵循了以下步骤:

  • 安装沙发座准入控制器
  • 部署Couchbase自主操作员
  • 部署Couchbase集群
  • 从UI访问CouchBase

但问题是,一旦系统或docker重置或pod重置,集群的数据就会丢失。

因此,出于同样的原因,我试图通过添加具有本地存储类的持久卷来实现这一点,如文档中所述,但结果仍然相同。吊舱仍然可以重置。我找不到同样的原因。

因此,如果有人能建议如何对本地存储类上的持久卷执行同样的操作。我已成功创建了一个存储类。只是在启动集群并保持一致性时出现问题。

以下是我用来创建存储类和pv以及pv声明的yamls

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: myssd
provisioner: local
apiVersion: v1
kind: PersistentVolume
metadata:
name: couchbase-data-2
labels:
type: local
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
storageClassName: myssd
hostPath:
path: "/home/<user>/cb-storage/"
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-test-claim-2
spec:
accessModes:
- ReadWriteOnce
storageClassName: myssd
resources:
requests:
storage: 1Gi

提前感谢

使用hostPath的持久卷是不持久的。使用local卷。与hostPath卷相比,local卷可以以持久和可移植的方式使用,而无需手动将Pod调度到节点,因为系统通过查看PersistentVolume上的节点相关性来了解卷的节点约束。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: couchbase-data
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
local:
path: /home/<User>/cb-storage/
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- node1
- node2
- node3
- node4

您不需要手动创建PersistentVolume,因为存储类将在内部执行此操作。

此外,您还需要如本文所述配置local卷配置器,以便使用本地存储类进行动态配置。

相关内容

  • 没有找到相关文章

最新更新