Aprovisionamiento de discos persistentes regionales

En esta página, se explica cómo habilitar el aprovisionamiento dinámico de discos persistentes regionales y cómo aprovisionarlos de forma manual.

Discos persistentes regionales

Al igual que con los discos persistentes regulares, los discos persistentes regionales se pueden aprovisionar de manera dinámica según sea necesario o, también, los puede aprovisionar el administrador del clúster de forma manual por adelantado.

Aprovisionamiento dinámico

Para habilitar el aprovisionamiento dinámico de discos persistentes regionales, crea una StorageClass con los parámetros replication-type y zones. Por ejemplo, en el siguiente manifiesto se describe una StorageClass que usa discos persistentes estándar y que replica datos en las zonas europe-west1-b y europe-west1-c:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: regionalpd-storageclass
provisioner: kubernetes.io/gce-pd
parameters:
  type: pd-standard
  replication-type: regional-pd
  zones: europe-west1-b, europe-west1-c
  

Para crear una PersistentVolumeClaim llamada “regional-pvc” con la StorageClass regionalpd-storageclass, consulta la StorageClass en el manifiesto de la reclamación siguiente:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: regional-pvc
  namespace: testns
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 200Gi
  storageClassName: regionalpd-storageclass
  

Aprovisionamiento manual

Primero, crea un disco regional persistente. En el siguiente ejemplo, se crea un disco llamado “gce-disk-1” replicado en las zonas europe-west1-b y europe-west1-c:

gcloud beta compute disks create \
 gce-disk-1 \
 --region europe-west1 \
 --replica-zones europe-west1-b,europe-west1-c

Luego, puedes crear un PersistentVolume que haga referencia al disco persistente regional, según el procedimiento descrito aquí.

Kubernetes agrega de forma automática una etiqueta a los objetos PersistentVolume respaldados por un disco regional persistente. La clave de la etiqueta es failure-domain.beta.kubernetes.io/zone y su valor son las dos zonas donde se ubican los discos persistentes. Por ejemplo, un PersistentVolume respaldado por un disco regional persistente que replica datos a europe-west1-b y europe-west1-c tiene esta etiqueta agregada:

failure-domain.beta.kubernetes.io/zone: “europe-west1-b__europe-west1-c”

Asigna nombres a los discos persistentes

Kubernetes no puede distinguir entre discos persistentes regionales y zonales que tengan el mismo nombre. Para evitar este problema, asegúrate de que los discos persistentes tengan nombres únicos. Esto no es necesario cuando se usan los PD aprovisionados de forma dinámica.