Si utiliza el registro de Harbor integrado con su instancia del Supervisor, puede migrar las imágenes del registro integrado en el registro de Harbor que instaló como servicio de supervisor.

Requisitos previos

  • Compruebe que los servicios de supervisor Contour y Harbor estén instalados en el Supervisor.
  • Compruebe que el DNS que utiliza con el Supervisor incluya una entrada del FQDN de Harbor que está asignado a la IP de entrada del servicio Envoy.
  • Compruebe que se haya establecido la confianza entre el Supervisor y Harbor. Si los clústeres de Tanzu Kubernetes Grid que se ejecutan en los Supervisores hacen referencia a imágenes que no son las que se ejecutan en Harbor, compruebe que exista confianza entre estos clústeres de Tanzu Kubernetes Grid y Harbor.

Procedimiento

  1. Inicie sesión en el Supervisor como usuario de vCenter Single Sign-On.
  2. Configure la salida del acceso de red al servicio de supervisor de Harbor.
    1. Cree un CRD de directiva de red denominado allow-all-egress-harbor-supervisor-service en el espacio de nombres de servicio de Harbor, el cual se puede denominar, por ejemplo, svc-harbor-domain-c9.
      apiVersion: networking.k8s.io/v1
      kind: NetworkPolicy
      metadata:
        name: allow-all-egress-harbor-supervisor-service
        namespace: svc-harbor-domain-c9
      spec:
        podSelector:
          matchLabels:
            app: harbor
        egress:
        - {}
  3. Acceda a los secretos del registro integrado para poder agregarlo posteriormente como endpoint de replicación a Harbor.
    1. Conceda permisos de edición al usuario administrativo de vCenter Single Sign-On en el espacio de nombres del registro integrado, el cual se puede llamar, por ejemplo, vmware-system-registry-437393318.

      El cuadro de diálogo para agregar el permiso de edición a la cuenta de administrador.
    2. Acceda a los secretos desde el espacio de nombres del registro integrado.
      # kubectl get secrets -n vmware-system-registry-437393318 harbor-437393318-controller-registry -o yaml
      apiVersion: v1
      data:
        harborAdminPassword: UDNSak4wQk5VbFlrY1VZeVprUmpKQT09
        harborAdminUsername: WVdSdGFXND0=
        harborPostgresPassword: TlRoS1ZHeEFLa1lrVkdjaGN6aGtXZz09
      kind: Secret
      ...
    3. Descodifique el nombre de usuario y la contraseña.
      # echo 'WVdSdGFXND0=' | base64 -d | base64 -d
      admin
       
      # echo 'UDNSak4wQk5VbFlrY1VZeVprUmpKQT09' | base64 -d | base64 -d
      ?tc7@MRV$qF2fDc$
  4. Agregue un endpoint de replicación y una regla de replicación para el registro integrado en el servicio de supervisor de Harbor.
    1. Inicie sesión como raíz en la interfaz de usuario del servicio de supervisor de Harbor.
    2. Haga clic en Registros y en Nuevo endpoint.
      La ventana Nuevo endpoint del registro se rellena con los datos de la URL y las credenciales de vRegistry
    3. Seleccione la pestaña Replicaciones y haga clic en Nueva regla de replicación.
      Complete los siguientes ajustes y deje el resto con los valores predeterminados:
      • Nombre: proporcione un nombre para la regla.
      • Modo de replicación: seleccione Basado en pull.
      • Registro de origen: seleccione el endpoint del registro que agregó.

      La ventana para agregar una regla de replicación a Harbor con la configuración necesaria seleccionada.
    4. Haga clic en Guardar.
  5. Seleccione la regla de replicación recién creada y haga clic en Replicar.

Resultados

El contenido del registro integrado se replica en el registro de Harbor.