Limpia las etiquetas después de restablecer los discos conectados a la VM

En esta página, se explica cómo evitar la posible pérdida de datos o las fallas en la restauración cuando trabajas con discos que se restauraron a partir de copias de seguridad de discos conectados a máquinas virtuales (VMs).

Restablecer un disco individual que se adjuntó a una VM puede dejar etiquetas específicas en el recurso de disco restablecido y en su recurso PersistentVolumeClaim (PVC) subyacente. Si no quitas las etiquetas como se describe, puede ocurrir lo siguiente:

  • Errores durante las operaciones de restablecimiento completas posteriores de la VM
  • Modificación o reemplazo no intencional del PVC subyacente del disco restablecido durante un restablecimiento completo posterior de la VM, lo que podría provocar la pérdida de datos en el disco restablecido

Antes de comenzar

Para limpiar las etiquetas después de restablecer un disco conectado a una VM, debes tener lo siguiente:

  • El rol de identidad y acceso necesario. Pídele al administrador de IAM de tu organización que te otorgue el rol de depurador de DBS (dbs-debugger).
  • Acceso a los archivos kubeconfig adecuados para los clústeres que administran estos recursos
  • La herramienta de línea de comandos de kubectl instalada y configurada

Cómo limpiar etiquetas

Debes realizar la limpieza tanto para el recurso VirtualMachineDisk como para su recurso PersistentVolumeClaim (PVC) subyacente.

Limpia las etiquetas de los discos de VM

Para limpiar las etiquetas de un disco de VM restablecido, sigue estos pasos:

  1. Obtén el archivo kubeconfig para el servidor de la API de administración y configura la variable de entorno KUBECONFIG:

    export KUBECONFIG=PATH_TO_MANAGEMENT_API_KUBECONFIG
    

    Reemplaza PATH_TO_MANAGEMENT_API_KUBECONFIG por la ruta de acceso al archivo kubeconfig. Para obtener más información, consulta Recursos del servidor de la API de Zonal Management.

  2. Verifica que el recurso VirtualMachineDisk restaurado exista en el espacio de nombres especificado:

    kubectl get virtualmachinedisks.virtualmachine.gdc.goog \
    -n NAMESPACE RESTORED_VM_DISK_NAME
    

    Reemplaza lo siguiente:

    • NAMESPACE: Es el espacio de nombres del proyecto.
    • RESTORED_VM_DISK_NAME: Es el nombre completo del disco restablecido con los valores recopilados en los requisitos previos. El valor de esta variable se puede derivar de RESTORED_PREFIX-VM_DISK_NAME.
  3. Quita la etiqueta de alcance de la copia de seguridad del recurso VirtualMachineDisk. El guion final después de la clave de la etiqueta indica la eliminación:

    kubectl label virtualmachinedisks.virtualmachine.gdc.goog -n NAMESPACE \
        RESTORED_VM_DISK_NAME bpvms/VM_NAME-
    

    Reemplaza VM_NAME por el nombre de la VM restaurada.

  4. Opcional: Para verificar que la etiqueta bpvms/VM_NAME ya no esté presente, puedes volver a ejecutar el comando kubectl get correspondiente y ajustarlo para el tipo de recurso y el clúster específicos:

    kubectl get virtualmachinedisks.virtualmachine.gdc.goog \
    -n NAMESPACE VM_NAME
    

Limpia las etiquetas del PVC

Para limpiar las etiquetas del PVC subyacente, sigue estos pasos:

  1. Obtén el archivo kubeconfig para el clúster de infraestructura de la organización y configura la variable de entorno KUBECONFIG:

    export KUBECONFIG=PATH_TO_ORG_INFRA_KUBECONFIG
    

    Reemplaza PATH_TO_ORG_INFRA_KUBECONFIG por la ruta de acceso al archivo kubeconfig.

  2. Verifica que el PVC subyacente del disco restablecido exista en el espacio de nombres especificado:

    kubectl get pvc -n NAMESPACE \
        RESTORED_VM_DISK_NAME
    

    Reemplaza lo siguiente:

    • NAMESPACE: Es el espacio de nombres del proyecto.
    • RESTORED_VM_DISK_NAME: Es el nombre del disco de la VM restablecida.
  3. Quita la etiqueta de permiso de copia de seguridad del PVC. El guion final después de la clave de la etiqueta indica la eliminación:

    kubectl label pvc -n NAMESPACE RESTORED_VM_DISK_NAME bpvms/VM_NAME-
    

    Reemplaza VM_NAME por el nombre de la VM restaurada.

  4. Opcional: Para verificar que la etiqueta bpvms/VM_NAME ya no esté presente, puedes volver a ejecutar el comando kubectl get correspondiente y ajustarlo para el tipo de recurso y el clúster específicos:

    kubectl get pvc -n NAMESPACE \
        VM_NAME