Você pode usar um registro de contêiner externo com pods de cluster do TKG.

Caso de uso do Private Container Registry

Os registros de contêineres fornecem uma função crítica para implantações do Kubernetes, servindo como um repositório centralizado para armazenar e compartilhar imagens de contêineres. O registro de contêiner público mais usado é o Docker Hub. Há muitas ofertas de registro de contêiner privado. VMware Harbor é um registro de contêiner privado de código aberto, nativo da nuvem, fornecido com o Supervisor.

Configuração do Private Container Registry

Para usar um registro privado com um cluster TKG, configure o cluster TKG com um ou mais certificados autoassinados para servir o conteúdo do registro privado por HTTPS. Na especificação do cluster, inclua uma seção trust com o par de campos additionalTrustedCAs. Você pode definir qualquer número de certificados autoassinados nos quais o cluster TKG deve confiar. Essa funcionalidade permite que você defina facilmente uma lista de certificados e atualize esses certificados caso eles precisem de rotação.

Campos de confiança para certificados do Private Container Registry

Adicione uma entrada de certificado (cadeia de caracteres codificada em base64 de um certificado público codificado em PEM) à seção additionalTrustedCAs na especificação de cluster do TKG.

Tabela 1. Campos de confiança para registros privados
Campo Descrição
trust Marcador de seção. Não aceita dados.
additionalTrustedCAs Marcador de seção. Inclui uma matriz de certificados com nome e dados para cada um.
name O nome do certificado TLS.
data A cadeia de caracteres dupla codificada em base64 de um certificado público codificado por PEM armazenada em texto sem formatação.
Observação: A codificação base64 dupla é necessária. Se o conteúdo do valor do mapa de dados não for codificado em base6 dupla, o arquivo PEM resultante não poderá ser processado.

Exemplo de API v1alpha3

O exemplo a seguir demonstra como criar um cluster TKG 2 com um certificado de registro privado. Consulte o Exemplo de v1alpha3: TKC com rede personalizada para obter a especificação completa.
Observação: Para editar um cluster existente e adicionar os campos de certificado de registro privado, use o método kubectl edit conforme descrito aqui: Configurar um editor de texto para Kubectl.
apiVersion: run.tanzu.vmware.com/v1alpha3
kind: TanzuKubernetesCluster
metadata:
  name: tkg2-private-registry
  namespace: tkg2-cluster-ns
spec:
  topology:
    controlPlane:
      ...
    nodePools:
    - name: worker
      ...
  settings:
    network:
      ...
      trust:
        additionalTrustedCAs:
          - name: CompanyInternalCA-1
            data: LS0tLS1C...LS0tCg==
          - name: CompanyInternalCA-2
            data: MTLtMT1C...MT0tPg==

Exemplo de API v1beta1

O exemplo a seguir demonstra como criar um cluster TKG 2 com um certificado de registro privado usando a API v1beta1. Consulte a descrição da variável confiar na especificação API do cluster v1beta1.
Observação: Para editar um cluster existente e adicionar os campos de certificado de registro privado, use o método kubectl edit conforme descrito aqui: Configurar um editor de texto para Kubectl.
spec:
  clusterNetwork:
    pods:
      ...
    serviceDomain: 
    services:
      ...
  topology:
    class: tanzukubernetescluster
    controlPlane:
      ...
    variables:
    - name: storageClass
      value: tkg2-storage-profile
    - name: trust
      value:
        additionalTrustedCAs:
        - name: additional-ca-1

Gerenciando certificados do Private Container Registry

Para alternar um certificado, o administrador de VI ou o engenheiro de DevOps altera o conteúdo do certificado na especificação de cluster do TKG e aplica essa configuração para acionar uma atualização sem interrupção do cluster.

Para remover um certificado da lista de certificados, exclua-o e aplique a especificação atualizada, acionando uma atualização sem interrupção.