Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Restore deleted NAS files with the CNFS Recycle Bin

Última atualização: Jun 27, 2026

O Container Network File System (CNFS) oferece o recurso de Lixeira para restaurar arquivos excluídos acidentalmente de volumes do File Storage NAS, funcionando como uma barreira de proteção de dados simples e eficaz para aplicações. Este tutorial demonstra como implantar uma aplicação NGINX em um volume NAS gerenciado pelo CNFS, excluir um arquivo e restaurá-lo pela Lixeira.

Faturamento

A ativação da Lixeira é gratuita. No entanto, os arquivos armazenados nela consomem espaço e são cobrados conforme a tarifa do tipo de armazenamento original. Defina um período de retenção para controlar os custos de armazenamento. Para mais detalhes, consulte Faturamento de sistemas de arquivos NAS de uso geral e Faturamento da classe de armazenamento IA.

Permissões

Somente o proprietário do sistema de arquivos ou usuários do Resource Access Management (RAM) autorizados podem usar a Lixeira. Para mais informações, consulte Realizar controle de acesso com base em políticas do RAM.

Pré-requisitos

Etapa 1: Implantar a aplicação NGINX com um volume NAS gerenciado pelo CNFS

Crie uma persistent volume claim (PVC), um Deployment e um Service do tipo LoadBalancer. Em seguida, grave um arquivo index.html no volume NAS e verifique o acesso pelo navegador.

Verifique o status do objeto CNFS

  1. Liste os objetos CNFS no cluster:

       kubectl get cnfs
       NAME                                      AGE
       default-cnfs-nas-7938cef-20210907193713   21h
  2. Verifique o status do objeto CNFS. Saída esperada: O objeto CNFS deve estar no estado Available antes de prosseguir.

       kubectl get cnfs default-cnfs-nas-7938cef-20210907193713 -o yaml | grep Available
       status: Available

Crie uma PVC

Execute o comando a seguir para criar uma PVC chamada cnfs-nas-pvc que referencie a StorageClass alibabacloud-cnfs-nas:

Importante

O campo storageClassName deve referenciar uma StorageClass do CNFS.

cat << EOF | kubectl apply -f -
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: cnfs-nas-pvc
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: alibabacloud-cnfs-nas
  resources:
    requests:
      storage: 30Gi
EOF

Crie um Deployment

Execute o comando a seguir para criar um Deployment chamado cnfs-nas-deployment. O Deployment monta a PVC em /app e expõe a porta do contêiner 8080 (nomeada http):

Importante

O Deployment referencia a PVC criada na etapa anterior.

cat << EOF | kubectl apply -f -
apiVersion: apps/v1
kind: Deployment
metadata:
  name: cnfs-nas-deployment
  labels:
    app: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      securityContext:
        runAsUser: 0
      containers:
      - name: nginx
        image: docker.io/bitnami/nginx:1.16.1-debian-9-r56
        volumeMounts:
        - mountPath: "/app"
          name: cnfs-nas-pvc
        ports:
        - containerPort: 8080
          name: http
      volumes:
      - name: cnfs-nas-pvc
        persistentVolumeClaim:
          claimName: cnfs-nas-pvc
EOF

Crie um Service LoadBalancer

Execute o comando a seguir para criar um Service LoadBalancer chamado nginx-default. Uma instância do Server Load Balancer (SLB) expõe o Service por meio de um endereço IP público e encaminha requisições HTTP para pods com o rótulo app: nginx:

cat << EOF | kubectl apply -f -
apiVersion: v1
kind: Service
metadata:
  name: nginx-default
  labels:
    app: nginx
spec:
  type: LoadBalancer
  externalTrafficPolicy: "Cluster"
  ports:
    - name: http
      port: 80
      targetPort: http
  selector:
    app: nginx
EOF

Gravar a página de boas-vindas do NGINX

  1. Obtenha o nome do pod. Saída esperada:

       kubectl get pod
       NAME                                   READY   STATUS    RESTARTS   AGE
       cnfs-nas-deployment-597bc9fb45-cmkss   1/1     Running   0          3h23m
  2. Abra um shell no pod e navegue até /app:

     kubectl exec cnfs-nas-deployment-597bc9fb45-cmkss -ti -- sh
       cd /app
  3. Grave o arquivo index.html:

       cat << EOF >> index.html
       <!DOCTYPE html>
       <html>
       <head>
       <title>Welcome to nginx!</title>
       <style>
       html { color-scheme: light dark; }
       body { width: 35em; margin: 0 auto;
       font-family: Tahoma, Verdana, Arial, sans-serif; }
       </style>
       </head>
       <body>
       <h1>Welcome to nginx!</h1>
       <p>If you see this page, the nginx web server is successfully installed and
       working. Further configuration is required.</p>
    
       <p>For online documentation and support please refer to
       <a href="http://nginx.org/">nginx.org</a>.<br/>
       Commercial support is available at
       <a href="http://nginx.com/">nginx.com</a>.</p>
    
       <p><em>Thank you for using nginx.</em></p>
       </body>
       </html>
       EOF
  4. Saia do pod:

       exit

Verifique o acesso à página de boas-vindas do NGINX

  1. Obtenha o endereço IP público da instância SLB. Saída esperada:

       kubectl get svc
       NAME            TYPE           CLUSTER-IP        EXTERNAL-IP      PORT(S)        AGE
       nginx-default   LoadBalancer   192.168.XX.XX     47.115.XX.XX     80:30989/TCP   20h
  2. Abra o endereço IP público (por exemplo, 47.115.XX.XX) em um navegador. A página de boas-vindas do NGINX será exibida.

    NGINX welcome page

Etapa 2: Exclua um arquivo e restaure-o pela Lixeira

Simule uma perda de dados excluindo o arquivo index.html e restaure-o pela Lixeira no console do ACK.

Exclua o arquivo

  1. Exclua o arquivo index.html do pod:

       kubectl exec cnfs-nas-deployment-597bc9fb45-cmkss -- rm -rf /app/index.html
  2. Atualize o navegador. A página de boas-vindas do NGINX não estará mais acessível e retornará um erro 403.

    NGINX 403 error

Restaurar o arquivo pela Lixeira

O CNFS habilita a Lixeira por padrão em sistemas de arquivos NAS gerenciados.

  1. Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, localize seu cluster e clique no nome dele. No painel à esquerda, escolha Volumes > Persistent Volumes.

  3. Na página Persistent Volumes, localize o persistent volume (PV) e clique em Recycle Bin na coluna Actions. Neste exemplo, o nome do PV é nas-ecaf6018-5250-4e19-b570-5d9e657d23bc.

    Persistent Volume with Recycle Bin action

  4. Na aba Recycle Bin da página do sistema de arquivos NAS, clique na aba Deleted Files and Directories. Localize o arquivo excluído e clique em Restore na coluna Actions.

    Deleted Files and Directories tab

  5. Clique em Restore to the original path e, em seguida, clique em OK.

    Restore to original path dialog

  6. Atualize o navegador. A página de boas-vindas do NGINX aparecerá novamente, confirmando a restauração do arquivo index.html.

    NGINX welcome page restored

Referências

Para obter mais informações sobre o recurso de Lixeira do NAS, consulte Lixeira.