O banco de dados do Cassandra usa volumes permanentes criados dinamicamente para armazenar dados. Para o funcionamento adequado do banco de dados, a Apigee exige que você configure uma definição de StorageClass que seja baseada em uma unidade de estado sólido (SSD).
Se você não tiver o SSD configurado para o Cassandra, este tópico explica como criar um novo StorageClass que usa o SSD e torná-lo a classe padrão. Quando o Cassandra é iniciado, ele usa essa StorageClass padrão.
Alterar o StorageClass padrão
As etapas a seguir explicam como criar uma StorageClass e torná-la a classe padrão. Para mais informações, consulte Alterar a classe de armazenamento padrão na documentação do Kubernetes.
- Consiga o nome da StorageClass padrão atual:
kubectl get sc
Exemplo:
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 - Descreva a StorageClass chamada
standard-rwo
. Observe que o tipo dela épd-balanced
:kubectl describe sc standard-rwo
Exemplo:
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>
- Crie um novo arquivo chamado
storageclass.yaml
. - Adicione este código ao arquivo. Observe que o nome da nova classe é
apigee-sc
. Use o nome que preferir. Além disso, o tipo de armazenamento é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
- Aplique a nova StorageClass ao cluster do Kubernetes:
kubectl apply -f storageclass.yaml
- Execute os dois comandos a seguir para alterar a StorageClass padrão:
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"}}}'
- Execute este comando para verificar se a nova StorageClass padrão é chamada
apigee-sc
:kubectl get sc
Exemplo:
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