Se você estiver usando o registro do Harbour incorporado com o seu Supervisor, poderá migrar as imagens do registro do Harbour para o registro do Harbor que você instalou como um Supervisor Service.

Pré-requisitos

  • Verifique se o Contour e o Harbour Supervisor Services estão instalados no Supervisor.
  • Verifique se o DNS que você usa com seu Supervisor inclui uma entrada do FQDN do Harbor que está mapeado para o IP de entrada do serviço Envoy.
  • Verifique se a confiança foi estabelecida entre o Supervisor e o Harbor. Se as imagens estiverem sendo referenciadas por Tanzu Kubernetes Grid clusters executados em Supervisors diferente daquele em que o Harbor é executado, verifique se há confiança entre esses Tanzu Kubernetes Grid clusters e o Harbor.

Procedimento

  1. Faça login no Supervisor como um usuário de Single-Sign-On do vCenter.
  2. Configure a saída de acesso de rede para o Harbor Supervisor Service.
    1. Crie um CRD de política de rede chamado allow-all-egress-harbor-supervisor-service no namespace de serviço do Harbor, que pode ser chamado de svc-harbor-domain-c9, por exemplo.
      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. Acesse os segredos do registro incorporado para que você possa adicionar o registro posteriormente como um endpoint de replicação ao Harbor.
    1. Conceda permissões de edição ao usuário administrativo vCenter Single Sign-On no namespace de registro incorporado, que pode ser nomeado, por exemplo, vmware-system-registry-437393318.

      A caixa de diálogo para adicionar a permissão de edição à conta de administrador.
    2. Acesse os segredos do namespace de registro incorporado.
      # 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. Decodifique o nome de usuário e a senha.
      # echo 'WVdSdGFXND0=' | base64 -d | base64 -d
      admin
       
      # echo 'UDNSak4wQk5VbFlrY1VZeVprUmpKQT09' | base64 -d | base64 -d
      ?tc7@MRV$qF2fDc$
  4. Adicione um endpoint de replicação e uma regra de replicação para o registro incorporado ao Harbor Supervisor Service.
    1. Faça login como root na UI do Harbor Supervisor Service.
    2. Clique em Registries e clique em New Endpoint.
      A janela Novo endpoint do registro preenchida com os dados para a URL e as credenciais do vRegistry
    3. Selecione a guia Replicações (Replications) e clique em Nova regra de replicação (New Replication Rule).
      Preencha as seguintes configurações, deixando o restante com os valores padrão:
      • Nome (Name) - Forneça um nome para a regra.
      • Modo de replicação (Replication mode) - Selecione Baseado em pull (Pull-based).
      • Registro de origem (Source registry) - Selecione o endpoint de registro que você adicionou.

      A janela para adicionar uma regra de replicação ao Harbor com as configurações necessárias selecionadas.
    4. Clique em Salvar (Save).
  5. Selecione a regra de replicação recém-criada e clique em Replicar (Replicate).

Resultados

O conteúdo do registro incorporado é replicado para o registro do Harbor.