Usa un volumen de Azure Disk
GKE on Azure implementa de forma automática el azuredisk-csi-driver
para aprovisionar y administrar los volúmenes de Azure Disk en tus clústeres.
La versión del controlador de CSI de GKE en Azure Disk está vinculada a una versión de clúster de Kubernetes. La versión del controlador suele ser la más reciente disponible en el momento en que se lanza la versión de GKE. Cuando se actualiza el clúster, los controladores se actualizan de forma automática.
Para obtener más información sobre cómo GKE en Azure proporciona almacenamiento persistente, consulta Descripción general del almacenamiento.
Clases de almacenamiento predeterminadas
GKE on Azure proporciona las siguientes opciones de StorageClass de forma predeterminada:
standard-rwo
(predeterminado): Aprovisiona discos SSD estándar de Azure con LRS.premium-rwo
: Aprovisiona discos SSD premium de Azure con LRS.
Antes de comenzar
Usa la StorageClass predeterminada
Cuando creas una PersistentVolumeClaim sin configurar el campo spec.storageClassName
, GKE en Azure aprovisiona un volumen SSD estándar de Azure mediante la StorageClass predeterminada del controlador de CSI de Azure Disk en Azure Azure.
El siguiente YAML crea una PersistentVolumeClaim (PVC) llamada mypvc
con un tamaño de 30 gibibytes.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mypvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 30Gi
Usa la clase de almacenamiento Premium
Cuando creas una PersistentVolumeClaim y envías el campo spec.storageClassName
a premium-rwo
, GKE on Azure aprovisiona un volumen de SSD premium de Azure.
El siguiente YAML crea una PersistentVolumeClaim (PVC) llamada 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
Haz referencia al StorageClass en un StatefulSet
Para usar la StorageClass nueva, puedes hacer referencia a ella en un volumeClaimTemplates
de StatefulSet.
Cuando haces referencia a la StorageClass en la especificación volumeClaimTemplates
de StatefulSet, Kubernetes proporciona almacenamiento estable mediante PersistentVolumes (PV).
Kubernetes llama al aprovisionador definido en la StorageClass para crear un volumen de almacenamiento nuevo. Una vez que se aprovisiona el volumen, Kubernetes crea un PV de forma automática.
El siguiente StatefulSet hace referencia a la StorageClass premium-rwo
y aprovisiona 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
¿Qué sigue?
Lee la documentación del controlador CSI de Azure Disk.
Crea una clase de almacenamiento personalizada con parámetros específicos.
Obtén más información sobre los volúmenes persistentes en GKE.
Instala los controladores de almacenamiento en tu clúster de GKE on Azure.