StorageClass の構成

Cassandra データベースにデータを保存する場合、Hybrid ランタイムは動的に作成された永続ボリュームを使用します。Cassandra を適切に構成するには、SSD(ソリッド ステート ドライブ)を基盤とする StorageClass の定義を構成する必要があります。

このトピックでは、SSD を使用する新しい StorageClass を作成し、それをデフォルト クラスにする方法について説明します。Cassandra が起動すると、このデフォルトの StorageClass が使用されます。

デフォルトの StorageClass を変更する

次の手順では、StorageClass を作成してそれをデフォルト クラスにする方法を説明します。詳細については、Kubernetes ドキュメントのデフォルトのストレージ クラスを変更するをご覧ください。

  1. 現在のデフォルト StorageClass の名前を取得します。
    kubectl get sc
          NAME                 PROVISIONER            AGE
          standard (default)   kubernetes.io/gce-pd   98d
  2. standard という StorageClass の詳細を確認します。タイプが pd-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
        
  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
          NAME                 PROVISIONER            AGE
          apigee-sc (default)  kubernetes.io/gce-pd   1d
          standard             kubernetes.io/gce-pd   98d