Siga estas instrucciones para instalar el registro del contenedor de Harbor en un clúster de Servicio TKG que ejecute TKr para vSphere 8.x.

Requisitos previos

Crear valores de datos de Harbor

Cree el archivo de valores de datos a fin de prepararse para instalar Harbor.

  1. Obtenga la versión más reciente del paquete de Harbor para el repositorio.
    tanzu package available get harbor.tanzu.vmware.com -n tkg-system

    O bien, use kubectl.

    kubectl -n tkg-system get packages | grep harbor
    Nota: Por lo general, debe utilizar la versión más reciente, a menos que los requisitos sean diferentes.
  2. Genere el archivo harbor-data-values.yaml.
    tanzu package available get harbor.tanzu.vmware.com/2.9.1+vmware.1-tkg.1 --default-values-file-output harbor-data-values.yaml
    Donde:
    • 2.9.1+vmware.1-tkg.1 es la versión del paquete de destino
    • harbor-data-values.yaml es el nombre y la ruta del archivo de valores de datos que se va a generar
  3. Edite el archivo harbor-data-values.yaml y actualice los valores para los siguientes parámetros.

    Configure parámetros adicionales según sea necesario. Consulte Referencia del paquete de Harbor.

    Campo Descripción
    hostname El FQDN para acceder a la consola administrativa de Harbor y al servicio de registro. Reemplace "yourdomain.com" por un nombre de host único.
    harborAdminPassword Cambie la contraseña a una contraseña segura y única (también se puede cambiar en la interfaz de usuario después de instalar).
    persistence.persistentVolumeClaim.database.storageClass: Introduzca el nombre de la directiva de almacenamiento de vSphere para el espacio de nombres de vSphere.
    persistence.persistentVolumeClaim.jobservice.storageClass: Introduzca el nombre de la directiva de almacenamiento de vSphere para el espacio de nombres de vSphere.
    persistence.persistentVolumeClaim.redis.storageClass: Introduzca el nombre de la directiva de almacenamiento de vSphere para el espacio de nombres de vSphere.
    persistence.persistentVolumeClaim.registry.storageClass: Introduzca el nombre de la directiva de almacenamiento de vSphere para el espacio de nombres de vSphere.
    persistence.persistentVolumeClaim.trivy.storageClass: Introduzca el nombre de la directiva de almacenamiento de vSphere para el espacio de nombres de vSphere.
    tlsCertificate.tlsSecretLabels: {"managed-by": "vmware-vRegistry"}

Instalar Harbor

Complete los siguientes pasos para instalar el Registro de Harbor.
  1. Cree el espacio de nombres para Harbor.
    kubectl create ns tanzu-system-registry
  2. Instale Harbor.
    tanzu package install harbor --package harbor.tanzu.vmware.com --version 2.9.1+vmware.1-tkg.1 --values-file harbor-data-values.yaml --namespace tanzu-system-registry
  3. Compruebe la instalación de Harbor.
    tanzu package installed get harbor --namespace tanzu-system-registry

Configurar DNS para Harbor mediante un servicio Envoy de tipo LoadBalancer

Si se expone el servicio Contour con Envoy como requisito previo a través de LoadBalancer, obtenga la dirección IP externa del equilibrador de carga y cree registros de DNS para los FQDN de Harbor.
  1. Obtenga la dirección External-IP para el servicio Envoy de tipo LoadBalancer.
    kubectl get service envoy -n tanzu-system-ingress
    Debería ver la dirección External-IP que se devuelve, por ejemplo:
    NAME    TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)                      AGE
    envoy   LoadBalancer   10.99.25.220   10.195.141.17   80:30437/TCP,443:30589/TCP   3h27m
    Si lo prefiere, puede obtener la dirección External-IP mediante el siguiente comando.
    kubectl get svc envoy -n tanzu-system-ingress -o jsonpath='{.status.loadBalancer.ingress[0]}'
  2. Para comprobar la instalación de la extensión Harbor, actualice el archivo /etc/hosts local con los FQDN de Harbor y Notary asignados a la dirección External-IP del equilibrador de carga; por ejemplo:
    127.0.0.1 localhost
    127.0.1.1 ubuntu
    #TKG Harbor with Envoy Load Balancer IP
    10.195.141.17 core.harbor.domain
    10.195.141.17 core.notary.harbor.domain
    
  3. Para comprobar la instalación de la extensión Harbor, inicie sesión en Harbor.
  4. Cree dos registros CNAME en un servidor DNS que asignen la dirección External-IP del servicio Envoy del equilibrador de carga al FQDN de Harbor y al FQDN de Notary.
  5. Instale la extensión DNS externo.

Configurar DNS para Harbor mediante un servicio Envoy de tipo NodePort

Si se expone el servicio Contour > Envoy como requisito previo a través de NodePort, obtenga la dirección IP de la máquina virtual de un nodo de trabajo y cree registros de DNS para los FQDN de Harbor.
Nota: Para usar NodePort, debe haber especificado el valor de port.https correcto en el archivo harbor-data-values.yaml.
  1. Cambie el contexto a la instancia de espacio de nombres de vSphere en la que se aprovisiona el clúster.
    kubectl config use-context VSPHERE-NAMESPACE
  2. Enumere los nodos del clúster.
    kubectl get virtualmachines
  3. Seleccione uno de los nodos de trabajo y describa el nodo mediante el siguiente comando.
    kubectl describe virtualmachines tkg2-cluster-X-workers-9twdr-59bc54dc97-kt4cm
  4. Busque la dirección IP de la máquina virtual; por ejemplo, Vm Ip: 10.115.22.43.
  5. Para comprobar la instalación de la extensión Harbor, actualice el archivo /etc/hosts local con los FQDN de Harbor y Notary asignados a la dirección IP del nodo de trabajo; por ejemplo:
    127.0.0.1 localhost
    127.0.1.1 ubuntu
    #TKG Harbor with Envoy NodePort
    10.115.22.43 core.harbor.domain
    10.115.22.43 core.notary.harbor.domain
    
  6. Para comprobar la instalación de la extensión Harbor, inicie sesión en Harbor.
  7. Cree dos registros CNAME en un servidor DNS que asignen la dirección IP del nodo de trabajo al FQDN de Harbor y al FQDN de Notary.
  8. Instale la extensión DNS externo.

Iniciar sesión en la interfaz web de Harbor

Una vez que Harbor esté instalado y configurado, inicie sesión y comience a utilizarlo.
  1. Acceda a la interfaz web del registro de Harbor en https://core.harbor.domain o al nombre de host que utilizó.

    La interfaz web del registro de Harbor.

  2. Inicie sesión en Harbor con el nombre de usuario admin y la contraseña generada que colocó en el archivo harbor-data-values.yaml.

    La página de inicio de sesión de Harbor con el nombre de usuario admin y la contraseña generada.

  3. Compruebe que puede acceder a la interfaz de usuario de Harbor.

    La pestaña Proyectos de la interfaz de usuario de Harbor aparece después de iniciar sesión.

  4. Obtenga el certificado de CA de Harbor.

    En la interfaz de Harbor, seleccione Proyectos > biblioteca o cree un Nuevo proyecto.

    Haga clic en Certificado del registro y descargue el certificado de CA de Harbor (ca.crt).

  5. Agregue el certificado de CA de Harbor al almacén de confianza del cliente de Docker para poder insertar y extraer imágenes de contenedor al registro de Harbor y desde él. Consulte Uso de registros privados con clústeres Servicio TKG.
  6. Consulte la documentación de Harbor para obtener más información sobre el uso de Harbor.