Cassandra データベースにデータを保存する場合、Hybrid ランタイムは動的に作成された永続ボリュームを使用します。Cassandra を適切に構成するには、SSD(ソリッド ステート ドライブ)を基盤とする StorageClass の定義を構成する必要があります。
このトピックでは、SSD を使用する新しい StorageClass を作成し、それをデフォルト クラスにする方法について説明します。Cassandra が起動すると、このデフォルトの StorageClass が使用されます。
デフォルトの StorageClass を変更する
次の手順では、StorageClass を作成してそれをデフォルト クラスにする方法を説明します。詳細については、Kubernetes ドキュメントのデフォルトのストレージ クラスを変更するをご覧ください。
- 現在のデフォルト StorageClass の名前を取得します。
kubectl get sc
NAME PROVISIONER AGE standard (default) kubernetes.io/gce-pd 98d 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>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
- 新しい 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
NAME PROVISIONER AGE apigee-sc (default) kubernetes.io/gce-pd 1d standard kubernetes.io/gce-pd 98d