Se si utilizza il registro Harbor con Supervisore, è possibile eseguire la migrazione delle immagini dal registro incorporato al registro incorporato Harbor installato come Servizio supervisore.

Prerequisiti

  • Verificare che nei Servizi supervisori siano installati Contour e Harbor Supervisore.
  • Verificare che il DNS utilizzato con Supervisore includa una voce del nome di dominio completo di Harbor mappato all'IP in entrata del servizio Envoy.
  • Verificare che venga stabilita l'attendibilità tra il Supervisore e Harbor. Se alle immagini fanno riferimento cluster Tanzu Kubernetes Grid in esecuzione su Supervisori diversi da quello su cui viene eseguito Harbor, verificare che vi sia una relazione di attendibilità tra questi cluster Tanzu Kubernetes Grid e Harbor.

Procedura

  1. Accedere al Supervisore come utente Single-Sign-On di vCenter.
  2. Impostazione dell'uscita dell'accesso di rete Servizio supervisore Harbor.
    1. Creare un CRD dei criteri di rete denominato allow-all-egress-harbor-supervisor-service nello spazio dei nomi dei servizi di Harbor, che può essere denominato ad esempio 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. Accedere ai segreti del registro incorporato in modo da poter aggiungere successivamente il registro come endpoint di replica a Harbor.
    1. Concedere le autorizzazioni di modifica all'utente vCenter Single Sign-On nello spazio dei nomi del registro incorporato, che può essere denominato ad esempio vmware-system-registry-437393318.

      Finestra di dialogo per l'aggiunta dell'autorizzazione di modifica all'account amministratore.
    2. Accedere ai segreti dallo spazio dei nomi del registro incorporato.
      # 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. Decodificare il nome utente e la password.
      # echo 'WVdSdGFXND0=' | base64 -d | base64 -d
      admin
       
      # echo 'UDNSak4wQk5VbFlrY1VZeVprUmpKQT09' | base64 -d | base64 -d
      ?tc7@MRV$qF2fDc$
  4. Aggiungere un endpoint di replica e una regola di replica per il registro incorporato a Harbor Servizio supervisore.
    1. Accedere come root all'interfaccia utente del Servizio supervisore Harbor.
    2. Fare clic su Registri e quindi su Nuovo endpoint.
      La finestra Nuovo endpoint popolata con i dati per l'URL e le credenziali di vRegistry
    3. Selezionare la scheda Repliche e fare clic su Nuova regola di replica.
      Compilare le seguenti impostazioni, lasciando i valori predefiniti per le altre:
      • Nome: specificare un nome per la regola.
      • Modalità di replica: selezionare Basato su pull.
      • Registro di origine: selezionare l'endpoint del registro aggiunto.

      La finestra per l'aggiunta di una regola di replica a Harbor con le impostazioni necessarie selezionate.
    4. Fare clic su Salva.
  5. Selezionare la regola di replica appena creata e fare clic su Replica.

risultati

I contenuti del registro incorporato vengono replicati nel registro Harbor.