Configuración de StorageClass

En el caso de la base de datos Cassandra, el tiempo de ejecución híbrido usa volúmenes persistentes creados dinámicamente para almacenar datos. Para configurar Cassandra correctamente, debes configurar una definición de StorageClass respaldada por una unidad de estado sólido (SSD).

En este tema se explica cómo crear una StorageClass que use SSD y convertirla en la clase predeterminada. Cuando se inicie Cassandra, usará este StorageClass predeterminado.

Cambiar la clase de almacenamiento predeterminada

En los siguientes pasos se explica cómo crear un StorageClass y convertirlo en la clase predeterminada. Para obtener más información, consulta Cambiar la clase de almacenamiento predeterminada en la documentación de Kubernetes.

  1. Obtén el nombre de la clase de almacenamiento predeterminada actual:
    kubectl get sc

    Por ejemplo:

    kubectl get sc
      NAME                 PROVISIONER            AGE
      standard (default)   kubernetes.io/gce-pd   98d
    
  2. Describe la StorageClass llamada standard. Ten en cuenta que su tipo es pd-standard:
    kubectl describe sc standard

    Por ejemplo:

    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. Crea un archivo llamado storageclass.yaml.
  4. Añade este código al archivo. Ten en cuenta que el nombre de la nueva clase es apigee-sc. Puedes usar el nombre que quieras. Además, ten en cuenta que el tipo de almacenamiento es 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. Aplica la nueva StorageClass a tu clúster de Kubernetes:
    kubectl apply -f storageclass.yaml
  6. Ejecuta los dos comandos siguientes para cambiar la clase de almacenamiento predeterminada:
    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. Ejecuta este comando para verificar que la nueva StorageClass predeterminada se llama apigee-sc:
    kubectl get sc

    Por ejemplo:

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