Usa discos persistentes preexistentes como PersistentVolumes

En esta página, se explica cómo crear un PersistentVolume con un disco persistente de Compute Engine existente propagado con datos y cómo usar el PersistentVolume en un pod.

Crea el PersistentVolume

Si ya tienes un disco persistente de 500 GB llamado pd-name, el archivo de manifiesto a continuación describe un PersistentVolume y PersistentVolumeClaim correspondientes.

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-demo
spec:
  storageClassName: ""
  capacity:
    storage: 500G
  accessModes:
    - ReadWriteOnce
  gcePersistentDisk:
    pdName: pd-name
    fsType: ext4
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pv-claim-demo
spec:
  # It's necessary to specify "" as the storageClassName
  # so that the default storage class won't be used, see
  # https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class-1
  storageClassName: ""
  volumeName: pv-demo
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 500G

Usa kubectl apply -f existing-pd.yaml para crear el PersistentVolume y PersistentVolumeClaim.

Usa el PersistentVolume en un pod

Después de que PersistentVolume y PersistentVolumeClaim existan en el clúster, puedes darles a los contenedores de un pod acceso al volumen si especificas los valores para volumeMounts.mountPath y volumeMounts.name del contenedor, como se muestra en el siguiente ejemplo:

kind: Pod
apiVersion: v1
metadata:
  name: task-pv-pod
spec:
  volumes:
    - name: task-pv-storage
      persistentVolumeClaim:
       claimName: pv-claim-demo
  containers:
    - name: task-pv-container
      image: nginx
      ports:
        - containerPort: 80
          name: "http-server"
      volumeMounts:
        - mountPath: "/usr/share/nginx/html"
          name: task-pv-storage

Cuando aplicas este manifiesto a un clúster, se crea el pod, y el contenedor task-pv-container tiene acceso al volumen en su directorio /usr/share/nginx/html/.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Kubernetes Engine