Para poder utilizar la tecnología de instantáneas en los clústeres de Servicio TKG, debe instalar e implementar un webhook externo de instantáneas de CSI en un clúster de TKG. El webhook externo de instantáneas CSI es un componente de código abierto con una llamada de retorno HTTP que responde a las solicitudes de admisión. Es responsable de la validación de los objetos de instantáneas de volumen.

El webhook externo de instantáneas de CSI se instala automáticamente en Supervisor. Este tema solo se aplica a los clústeres de Servicio TKG.

Requisitos previos

Preparar un clúster de Servicio TKG para la instalación de un webhook externo de instantáneas de CSI

Siga estos pasos para instalar un webhook externo de instantáneas de CSI en un clúster de Servicio TKG.

Procedimiento

  1. Obtenga las credenciales de administrador del clúster de TKG en el que desea implementar el webhook externo de instantáneas CSI.
    tanzu cluster kubeconfig get my-cluster --admin
  2. Cambie el contexto al espacio de nombres de vSphere donde se aprovisiona el clúster de TKG de destino.
    kubectl config use-context my-cluster-admin@my-cluster
  3. Si el clúster no tiene un repositorio de paquetes, como el repositorio tanzu-standard, instale uno.
    Puede omitir este paso si el clúster de destino es un clúster heredado basado en planes. Para los clústeres basados en planes, el repositorio de paquetes tanzu-standard se habilita automáticamente en el espacio de nombres tanzu-package-repo-global.
    tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
    • PACKAGE-REPO-NAME es el nombre del repositorio de paquetes, como tanzu-standard, o el nombre de un registro de imágenes privado configurado con variables ADDITIONAL_IMAGE_REGISTRY.
    • PACKAGE-REPO-ENDPOINT es la URL del repositorio de paquetes.
  4. Instale el archivo administrador de certificados si aún no lo ha hecho.
    Para obtener información, consulte Instalar administrador de certificados.

Resultados

Ahora puede implementar el webhook externo de instantáneas CSI.

Implementar webhook externo de instantáneas de CSI

Siga estos pasos para implementar el webhook externo de instantáneas de CSI en un clúster de Servicio TKG.

Procedimiento

  1. Confirme que el paquete de webhook externo de instantáneas CSI está disponible en el clúster.
    tanzu package available list -A

    Si el paquete no está disponible, asegúrese de que el repositorio de paquetes que contiene el paquete de webhook externo de instantáneas CSI está instalado correctamente. Para obtener instrucciones, consulte el paso 3 de Preparar un clúster de Servicio TKG para la instalación de un webhook externo de instantáneas de CSI.

  2. Obtenga la versión del paquete disponible.
    tanzu package available list external-csi-snapshot-webhook.tanzu.vmware.com -A
  3. Instale el paquete con la versión adecuada disponible.
    tanzu package install external-csi-snapshot-webhook --package external-csi-snapshot-webhook.tanzu.vmware.com --version AVAILABLE-PACKAGE-VERSION --namespace kube-system
    AVAILABLE-PACKAGE-VERSION especifica la versión del paquete que obtuvo en el paso 2.
  4. Confirme que está instalado el paquete de webhook externo de instantáneas CSI.
    tanzu package installed list -A
    Para ver más detalles sobre el paquete, también puede ejecutar el siguiente comando:
    tanzu package installed get external-csi-snapshot-webhook --namespace kube-system
  5. Confirme que la aplicación external-csi-snapshot-webhook se ha conciliado correctamente en su TARGET-NAMESPACE.
    kubectl get apps -A
    Si el estado no es Reconcile Succeeded, consulte los detalles del estado completo de la aplicación external-csi-snapshot-webhook. Ver el estado completo puede ayudarle a solucionar el problema.
    kubectl get app external-csi-snapshot-webhook --namespace kube-system -o yaml
    Si la solución de problemas no le ayuda a resolver el problema, desinstale el paquete con el siguiente comando antes de volver a instalarlo.
    tanzu package installed delete external-csi-snapshot-webhook --namespace kube-system
  6. Enumere todos los pods del clúster para confirmar que el external-csi-snapshot-webhook se está ejecutando.
    kubectl get pods -A
    Compruebe que los pods external-csi-snapshot-webhook se han creado en el espacio de nombres kube-system.