对于 Cassandra 数据库,混合运行时使用动态创建的永久性卷来存储数据。要正确配置 Cassandra,您必须配置一个由固态硬盘 (SSD) 支持的 StorageClass 定义。
本主题介绍如何创建使用 SSD 并将其设为默认类的 StorageClass。Cassandra 启动时,它将使用默认 StorageClass。
更改默认 StorageClass
以下步骤介绍如何创建 StorageClass 并将其设为默认类。如需了解详情,请参阅 Kubernetes 文档中的更改默认存储类。
- 获取当前默认 StorageClass 的名称:
kubectl get sc
例如:
kubectl get sc
NAME PROVISIONER AGE standard (default) kubernetes.io/gce-pd 98d - 描述名为
standard
的 StorageClass。请注意,其类型为pd-standard
:kubectl describe sc standard
例如:
kubectl describe sc standard
Name: standard IsDefaultClass: Yes Annotations: storageclass.beta.kubernetes.io/is-default-class=true Provisioner: kubernetes.io/gce-pd Parameters: type=pd-standard AllowVolumeExpansion: <unset> MountOptions: <none> ReclaimPolicy: Delete VolumeBindingMode: Immediate Events: <none> - 创建一个名为
storageclass.yaml
的新文件。 - 将此代码添加到文件中。请注意,新类的名称是
apigee-sc
。您可以根据自己的喜好使用任何名称。此外,请注意存储类型为pd-ssd
:--- kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: "apigee-sc" provisioner: kubernetes.io/gce-pd parameters: type: pd-ssd replication-type: none volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true
- 将新的 StorageClass 应用于 Kubernetes 集群:
kubectl apply -f storageclass.yaml
- 执行以下两个命令以更改默认 StorageClass:
kubectl patch storageclass standard \ -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 AGE apigee-sc (default) kubernetes.io/gce-pd 1d standard kubernetes.io/gce-pd 98d