Configuração da StorageClass

Para a base de dados Cassandra, o tempo de execução híbrido usa volumes persistentes criados dinamicamente para armazenar dados. Para configurar o Cassandra corretamente, tem de configurar uma definição de StorageClass suportada por um disco de estado sólido (SSD).

Este tópico explica como criar uma nova StorageClass que usa SSD e torná-la a classe predefinida. Quando o Cassandra é iniciado, usa esta StorageClass predefinida.

Altere a StorageClass predefinida

Os passos seguintes explicam como criar uma StorageClass e torná-la a classe predefinida. Para mais informações, consulte Altere a classe de armazenamento predefinida na documentação do Kubernetes.

  1. Obtenha o nome da StorageClass predefinida atual:
    kubectl get sc

    Por exemplo:

    kubectl get sc
      NAME                 PROVISIONER            AGE
      standard (default)   kubernetes.io/gce-pd   98d
    
  2. Descrever a StorageClass denominada standard. Tenha em atenção que o respetivo tipo é pd-standard:
    kubectl describe sc standard

    Por exemplo:

    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. Cria um novo ficheiro denominado storageclass.yaml.
  4. Adicione este código ao ficheiro. Tenha em atenção que o nome da nova classe é apigee-sc. Pode usar qualquer nome que quiser. Tenha também em atenção que o tipo de armazenamento é 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. Aplique a nova StorageClass ao seu cluster do Kubernetes:
    kubectl apply -f storageclass.yaml
  6. Execute os dois comandos seguintes para alterar a StorageClass predefinida:
    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. Execute este comando para verificar se a nova StorageClass predefinida se chama apigee-sc:
    kubectl get sc

    Por exemplo:

    kubectl get sc
      NAME                 PROVISIONER            AGE
      apigee-sc (default)  kubernetes.io/gce-pd   1d
      standard             kubernetes.io/gce-pd   98d