Usar el volumen de discos de Azure

GKE en Azure despliega automáticamente el azuredisk-csi-driver para aprovisionar y gestionar volúmenes de discos de Azure en tus clústeres.

La versión del controlador de CSI de Azure Disk de GKE en Azure está vinculada a una versión del clúster de Kubernetes. La versión del controlador suele ser la más reciente disponible cuando se lanza la versión de GKE. Cuando se actualiza el clúster, los controladores se actualizan automáticamente.

Para obtener más información sobre cómo proporciona GKE en Azure almacenamiento persistente, consulta la información general sobre el almacenamiento.

Clases de almacenamiento predeterminadas

GKE en Azure proporciona las siguientes opciones de StorageClass de forma predeterminada:

  • standard-rwo (predeterminado): aprovisiona discos de Azure SSD estándar con LRS.
  • premium-rwo: aprovisiona discos de Azure SSD premium con LRS.

Antes de empezar

Usar la clase de almacenamiento predeterminada

Cuando creas un PersistentVolumeClaim sin definir el campo spec.storageClassName, GKE en Azure aprovisiona un volumen de SSD estándar de Azure con la StorageClass predeterminada del controlador CSI de Azure Disk de GKE en Azure.

El siguiente archivo YAML crea una reclamación de volumen persistente (PVC) llamada mypvc con un tamaño de 30 gibibytes.

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mypvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 30Gi

Usar la clase de almacenamiento premium

Cuando creas un PersistentVolumeClaim y asignas el valor premium-rwo al campo spec.storageClassName, GKE en Azure aprovisiona un volumen de SSD premium de Azure.

El siguiente archivo YAML crea un PersistentVolumeClaim (PVC) llamado mypvc con un tamaño de 30 gibibytes.

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mypvc
spec:
  storageClassName: premium-rwo
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 30Gi

Hacer referencia a StorageClass en un StatefulSet

Para usar tu nuevo StorageClass, puedes hacer referencia a él en el volumeClaimTemplates de un StatefulSet.

Cuando haces referencia a una StorageClass en la volumeClaimTemplatesespecificación de un StatefulSet, Kubernetes proporciona almacenamiento estable mediante PersistentVolumes (PVs). Kubernetes llama al aprovisionador definido en StorageClass para crear un nuevo volumen de almacenamiento. Una vez aprovisionado el volumen, Kubernetes crea automáticamente un PV.

El siguiente StatefulSet hace referencia a premium-rwo StorageClass y proporciona un volumen de 1 gibibyte:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: web
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: registry.k8s.io/nginx-slim:0.8
        volumeMounts:
        - name: www
          mountPath: /usr/share/nginx/html
  volumeClaimTemplates: # This is the specification in which you reference the StorageClass
  - metadata:
      name: www
    spec:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 1Gi
      storageClassName: premium-rwo # This field references the existing StorageClass

Siguientes pasos