StorageClass 配置

对于 Cassandra 数据库,混合运行时使用动态创建的永久性卷来存储数据。要正确配置 Cassandra,您必须配置一个由固态硬盘 (SSD) 支持的 StorageClass 定义。

本主题介绍如何创建使用 SSD 并将其设为默认类的 StorageClass。Cassandra 启动时,它将使用默认 StorageClass。

更改默认 StorageClass

以下步骤介绍如何创建 StorageClass 并将其设为默认类。如需了解详情,请参阅 Kubernetes 文档中的更改默认存储类

  1. 获取当前默认 StorageClass 的名称:
    kubectl get sc

    例如:

    kubectl get sc
      NAME                 PROVISIONER            AGE
      standard (default)   kubernetes.io/gce-pd   98d
    
  2. 描述名为 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>
  3. 创建一个名为 storageclass.yaml 的新文件。
  4. 将此代码添加到文件中。请注意,新类的名称是 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
    
  5. 将新的 StorageClass 应用于 Kubernetes 集群:
    kubectl apply -f storageclass.yaml
  6. 执行以下两个命令以更改默认 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"}}}'
  7. 执行以下命令以验证新的默认 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