Usar un volumen de disco de Azure
GKE en Azure implementa automáticamente azuredisk-csi-driver
para aprovisionar y administrar volúmenes de Azure Disk en sus clústeres.
La versión del controlador CSI de disco de Azure de GKE en Azure está vinculada a la 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. Al actualizar el clúster, los controladores se actualizan automáticamente.
Para obtener más información sobre cómo GKE en Azure proporciona almacenamiento persistente, consulte Descripción general del almacenamiento .
Clases de almacenamiento predeterminadas
GKE en 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 empezar
Utilice la clase de almacenamiento predeterminada
Cuando se crea un PersistentVolumeClaim sin configurar el campo spec.storageClassName
, GKE en Azure aprovisiona un volumen SSD estándar de Azure mediante el StorageClass del controlador CSI de disco de Azure de GKE en Azure predeterminado.
El siguiente YAML crea un PersistentVolumeClaim (PVC) llamado mypvc
con un tamaño de 30 gibibytes.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mypvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 30Gi
Utilice la clase de almacenamiento premium
Cuando crea un PersistentVolumeClaim y envía el campo spec.storageClassName
a premium-rwo
, GKE en Azure aprovisiona un volumen SSD premium de Azure.
El siguiente 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 utilizar su nueva StorageClass, puede hacer referencia a ella en volumeClaimTemplates
de un StatefulSet.
Al hacer referencia a una StorageClass en la especificación volumeClaimTemplates
de un StatefulSet, Kubernetes proporciona almacenamiento estable mediante PersistentVolumes (PV). Kubernetes llama al aprovisionador definido en la 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 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?
Lea la documentación del controlador CSI de Azure Disk .
Cree una clase de almacenamiento personalizada con parámetros específicos.
Obtenga información sobre los volúmenes persistentes en GKE .
Instale controladores de almacenamiento en su clúster de GKE en Azure.