Uso de un volumen persistente

En Compute Cloud@Customer, 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 de Block Volume Storage

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 de File System Storage

En este 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

Verificación del 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 están utilizando el almacenamiento persistentVolumeClaim. La columna Filesystem de la salida df muestra la dirección IP del 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