Usando um Volume Persistente

No Compute Cloud@Customer, para usar esse armazenamento persistente, crie uma implantação do Kubernetes e designe uma reivindicação de volume persistente conforme mostrado nas seções a seguir.

Usando o Serviço Block Volume Storage

O exemplo a seguir usa o armazenamento de volume em blocos:

$ kubectl create -f nginx-deploy.yaml

A saída a seguir é o conteúdo do arquivo 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

Usando o Serviço File System Storage

O exemplo a seguir utiliza o armazenamento do sistema de arquivos:

$ kubectl create -f nginx-deploy.yaml

A saída a seguir é o conteúdo do arquivo 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 o Novo Ativo de Armazenamento

Use o subcomando get pod para mostrar os nomes das réplicas no 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

Faça log-in no pod e use o comando df do Linux para mostrar que as réplicas do aplicativo estão usando o armazenamento persistentVolumeClaim. A coluna Filesystem na saída df mostra o endereço IP do ponto de acesso NFS e o caminho de exportação do sistema de arquivos.

$ 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