Uso de un volumen persistente

En Private Cloud Appliance, para utilizar este almacenamiento persistente, cree un despliegue de Kubernetes y asigne una reclamación de volumen persistente, como se muestra en las siguientes secciones.

Uso del almacenamiento de volúmenes en bloque

En el siguiente ejemplo se utiliza el almacenamiento de volúmenes en bloque:

$ kubectl create -f nginx-deploy.yaml

La siguiente salida es el contenido del archivo nginx-deploy.yaml.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-bv-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx-bv
  template:
    metadata:
      labels:
        app: nginx-bv
    spec:
      containers:
      - name: nginx
        image: available_internal_registry/nginx:latest
        volumeMounts:
        - mountPath: /usr/share/nginx/
          name: data
        ports:
        - containerPort: 80
          name: http
          protocol: TCP
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: mynginxclaim

Uso del almacenamiento del sistema de archivos

En el siguiente ejemplo se utiliza el almacenamiento del sistema de archivos:

$ kubectl create -f nginx-deploy.yaml

La siguiente salida es el contenido del archivo nginx-deploy.yaml.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-fss-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx-fss
  template:
    metadata:
      labels:
        app: nginx-fss
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        volumeMounts:
        - mountPath: /usr/share/nginx/
          name: data
        ports:
        - containerPort: 80
          name: http
          protocol: TCP
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: fss-pvc

Verificar el nuevo activo de almacenamiento

Utilice el subcomando get pod para mostrar los nombres de las réplicas en el pod:

$ kubectl get pod
nginx-deployment-55ff88b668-2k8rt 1/1 Running 0 4m54s
nginx-deployment-55ff88b668-79c2t 1/1 Running 0 4m54s
nginx-deployment-55ff88b668-qpdfd 1/1 Running 0 4m54s

Conéctese al pod y utilice el comando df de Linux para mostrar que las réplicas de la aplicación utilizan el almacenamiento persistentVolumeClaim. La columna Filesystem de la salida df muestra la dirección IP de destino de montaje y la ruta de exportación del sistema de archivos.

$ kubectl exec -it nginx-deployment-55ff88b668-2k8rt -- df -h /usr/share/nginx/html
Filesystem                                                                          Size Used Avail Use% Mounted on
xxx.xx.xxx.xxx:/export/4fsderwh09ufyf84ei1lh3q2x8ou86pq5vcbx3aeeo060xxxxxxxxxxxxxxx 67T  0    67T   0%   /usr/share/nginx/html