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 volumeClaimTemplates
especificació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
Consulta la documentación del controlador CSI de disco de Azure.
Crea una clase de almacenamiento personalizada con parámetros específicos.
Consulta información sobre los volúmenes persistentes en GKE.
Instala controladores de almacenamiento en tu clúster de GKE en Azure.