Cassandra 数据库使用动态创建的永久性卷来存储数据。为使数据库正常运行,Apigee 要求您配置由固态硬盘 (SSD) 支持的 StorageClass 定义。
如果您目前没有为 Cassandra 配置 SSD,则本主题介绍如何创建使用 SSD 的新 StorageClass 并将其设为默认类。Cassandra 启动时,它将使用默认 StorageClass。
更改默认 StorageClass
以下步骤介绍如何创建 StorageClass 并将其设为默认类。如需了解详情,请参阅 Kubernetes 文档中的更改默认存储类。
- 获取当前默认 StorageClass 的名称:
kubectl get sc
例如:
kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE premium-rwo pd.csi.storage.gke.io Delete WaitForFirstConsumer true 15h standard kubernetes.io/gce-pd Delete Immediate true 15h standard-rwo (default) pd.csi.storage.gke.io Delete WaitForFirstConsumer true 15h - 描述名为
standard-rwo
的 StorageClass。请注意,其类型为pd-balanced
:kubectl describe sc standard-rwo
例如:
kubectl describe sc standard-rwo
Name: standard-rwo IsDefaultClass: Yes Annotations: components.gke.io/layer=addon,storageclass.kubernetes.io/is-default-class=false Provisioner: pd.csi.storage.gke.io Parameters: type=pd-balanced AllowVolumeExpansion: True MountOptions: <none> ReclaimPolicy: Delete VolumeBindingMode: WaitForFirstConsumer Events: <none>
- 创建一个名为
storageclass.yaml
的新文件。 - 将此代码添加到文件中。请注意,新类的名称是
apigee-sc
。您可以根据自己的喜好使用任何名称。此外,请注意存储类型为pd-ssd
:--- kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: "apigee-sc" provisioner: pd.csi.storage.gke.io parameters: type: pd-ssd replication-type: none volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true
- 将新 StorageClass 应用于 Kubernetes 集群:
kubectl apply -f storageclass.yaml
- 执行以下两个命令以更改默认 StorageClass:
kubectl patch storageclass standard-rwo \ -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
kubectl patch storageclass apigee-sc \ -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
- 执行以下命令,以验证新的默认 StorageClass 是否名为
apigee-sc
:kubectl get sc
例如:
kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE apigee-sc (default) kubernetes.io/gce-pd Delete WaitForFirstConsumer true 14h premium-rwo pd.csi.storage.gke.io Delete WaitForFirstConsumer true 15h standard kubernetes.io/gce-pd Delete Immediate true 15h standard-rwo pd.csi.storage.gke.io Delete WaitForFirstConsumer true 15h