Puede instalar el Registro de contenedores de Harbor como un servicio de Supervisor y ejecutar Harbor como un registro privado.

Requisitos previos

Cumpla los siguientes requisitos previos:
Nota: Estas instrucciones se validan con las redes vSphere 8 y NSX 4.

Descargar archivos YAML requeridos

Descargue los archivos YAML necesarios, incluidos Contour y Harbor.
  1. Descargue los siguientes archivos de Contour del sitio del servicio de controlador de entrada de Kubernetes:
    1. El archivo de definición del servicio de Contour: contour.yml
    2. El archivo de configuración del servicio de Contour: contour-data-values.yml
  2. Descargue los siguientes archivos de Harbor del sitio del servicio de registro nativo en la nube:
    1. El archivo de definición del servicio de Harbor: harbor.yml
    2. El archivo de configuración del servicio de Harbor: harbor-data-values.yml

Instalar Contour

Debe instalar Contour antes de instalar Harbor.
  1. Cargue contour.yml en vCenter en Administración de cargas de trabajo > > Servicios > Agregar.
  2. Compruebe que se ha añadido la definición del servicio de Contour.
  3. Seleccione Administración de cargas de trabajo > Supervisores > Supervisor > Configurar.
  4. Seleccione Servicios de supervisor > Descripción general.
  5. Seleccione la pestaña Disponible.
  6. Seleccione Contour y haga clic en Instalar.
  7. Copie y pegue el contenido del archivo contour-data-values.yml en el campo de entrada "Configuración del servicio YAML".
    Nota: Los valores de datos de Contour se pueden utilizar tal como están y no requieren cambios de configuración. El tipo de servicio para Envoy se establece en LoadBalancer.
  8. Haga clic en Aceptar para continuar con la instalación de Contour.
  9. Compruebe que Contour está instalado.
    1. Seleccione el espacio de nombres de vSphere denominado svc-contour-domain-XXXX.
    2. Seleccione la pestaña Red y después Servicios.
    3. Debería ver el servicio Contour de tipo ClusterIP y el servicio Envoy de tipo LoadBalancer. El servicio Envoy debe tener una dirección IP externa.

Actualizar valores de datos de Harbor

Antes de instalar Harbor, actualice el archivo de valores de datos.
  1. En un editor de texto, abra el archivo harbor-data-values.yml.
  2. Realice las siguientes modificaciones (como mínimo, editar otros campos es opcional).
  3. Guarde los cambios.
    Nombre Valor
    hostname harbordomain.com (elija algo único)
    tlsCertificate.tlsSecretLabels {"managed-by": "vmware-vRegistry"} (compruebe este valor, pero manténgalo tal como está)
    persistence.persistentVolumeClaim.registry.storageClass "vwt-storage-policy" (introduzca el nombre de la directiva de almacenamiento de vSphere para Supervisor)
    persistence.persistentVolumeClaim.jobservice.storageClass "vwt-storage-policy" (introduzca el nombre de la directiva de almacenamiento de vSphere para Supervisor)
    persistence.persistentVolumeClaim.database.storageClass "vwt-storage-policy" (introduzca el nombre de la directiva de almacenamiento de vSphere para Supervisor)
    persistence.persistentVolumeClaim.redis.storageClass "vwt-storage-policy" (introduzca el nombre de la directiva de almacenamiento de vSphere para Supervisor)
    persistence.persistentVolumeClaim.trivy.storageClass "vwt-storage-policy" (introduzca el nombre de la directiva de almacenamiento de vSphere para Supervisor)

Instalar Harbor

Complete las siguientes instrucciones para instalar Harbor.
  1. Cargue harbor.yml en vCenter en Administración de cargas de trabajo > > Servicios > Agregar.
  2. Compruebe que se ha añadido la definición del servicio de Harbor.
  3. Seleccione Administración de cargas de trabajo > Supervisores > Supervisor > Configurar.
  4. Seleccione Servicios de supervisor > Descripción general.
  5. Seleccione la pestaña Disponible.
  6. Seleccione Harbor y haga clic en Instalar.
  7. Copie y pegue el contenido del archivo harbor-data-values.yml que editó en el campo de entrada "Configuración del servicio YAML".
  8. Haga clic en Aceptar para continuar con la instalación de Harbor.
  9. Compruebe que Harbor está instalado.
    1. Seleccione el espacio de nombres de vSphere denominado svc-harbor-domain-XXXX.
    2. Seleccione la pestaña Red y después Servicios.
    3. Debería ver varios contenedores instalados para Harbor, cada uno de ellos es un servicio de tipo ClusterIP.

Configurar DNS para Harbor

Deberá registrar un nombre de dominio y configurar un registro de DNS para Harbor.
  1. Seleccione Administración de cargas de trabajo > Espacios de nombres.
  2. Seleccione el espacio de nombres de Contour.
  3. Seleccione Red > Servicios.
  4. Registre la dirección IP externa para el servicio de entrada Envoy (por ejemplo, 10.197.154.71).
  5. Registre el nombre de dominio de Harbor (FQDN) que especificó en la configuración de Harbor.
  6. Cree un registro "A" de DNS mediante AWS Route 53 o un servicio similar.

Iniciar sesión en Harbor

Una vez configurado el DNS de Harbor, inicie sesión.
  1. Vaya al nombre de dominio que registró para Harbor.
  2. Inicie sesión en el dominio con admin|contraseña de que especificó en la configuración de Harbor.
  3. Una vez que haya iniciado sesión, cambie la contraseña a una más segura.

Configurar Supervisor para que confíe en el registro de Harbor (opcional)

Los clústeres de TKG se configuran automáticamente para confiar en el servicio Supervisor de Harbor cuando el clúster de TKG y Harbor se implementan en el mismo Supervisor. Sin embargo, Supervisor NO se configura automáticamente para confiar en el servicio Supervisor de Harbor al crear pods de vSphere. Complete estos pasos para establecer la confianza entre Supervisor y el servicio de Harbor actualizando el configmap con el certificado de CA de Harbor.
  1. En Harbor, vaya a Administración > Configuración > Configuración del sistema.
  2. Descargue el certificado raíz del registro, que es un archivo denominado ca.crt.
  3. Configure la variable de entorno KUBE_EDITOR.

    Consulte Configurar un editor de texto para Kubectl.

  4. Inicie sesión en Supervisor mediante kubectl.

    Consulte Conectarse a Supervisor como usuario de vCenter Single Sign-On con kubectl.

  5. Cambie el contexto al contexto de Supervisor (dirección IP).
  6. Edite configmap/image-fetch-ca-bundle mediante el siguiente comando:
    kubectl edit configmap image-fetcher-ca-bundle -n kube-system
  7. Copie el contenido del archivo ca.crt de Harbor y anexe el configmap debajo del certificado existente (que es para Supervisor y no se debe cambiar). Guarde las ediciones realizadas en el archivo. Debería ver que Kubectl notifica "configmap/image-fetcher-ca-bundle edited".