Esta página descreve como configurar um Google Distributed Cloud (apenas software) para que o cluster de administrador do VMware use o Artifact Registry da Google como o registo Docker privado onde pode armazenar imagens de cargas de trabalho. Quando configura um registo privado para armazenar imagens de cargas de trabalho, as imagens do sistema do Google Distributed Cloud também são armazenadas no registo privado quando cria ou atualiza clusters.
Embora o Artifact Registry suporte vários
métodos de autenticação,
tem de usar uma chave de conta de serviço para a autenticação para usar o Artifact Registry como um
registo privado. Os passos nesta página explicam como obter o endereço, as credenciais e o certificado de AC que a secção privateRegistry no ficheiro de configuração do cluster de administrador requer.
Configure um ficheiro de credenciais
- Se não tiver configurado a autenticação para o registo, siga os passos em Configurar a autenticação para o Artifact Registry para o Docker para configurar a autenticação através de uma conta de serviço. Tem de usar uma conta de serviço com um ficheiro de chave JSON para autenticação. 
- Crie um ficheiro de configuração de credenciais, - admin-creds.yaml, conforme mostrado no exemplo seguinte. O- usernametem de ser- "_json_key". Pode usar qualquer valor para o campo- name, desde que corresponda ao valor que vai adicionar ao campo- privateRegistry.entry.- apiVersion: v1 kind: "CredentialFile" items: - name: "private-registry-creds" username: "_json_key" password:
- No diretório onde se encontra o ficheiro de chave JSON da conta de serviço do registo, execute - catno ficheiro de chave para gerar o conteúdo.
- Copie todo o conteúdo da chave JSON e cole-o no campo - password. Certifique-se de que coloca o conteúdo da chave JSON entre aspas simples, uma vez que o conteúdo contém aspas duplas. Por exemplo:- apiVersion: v1 kind: "CredentialFile" items: - name: "private-registry-creds" username: "_json_key" password: '{ "type": "service_account", "project_id": "example-project-12345", "private_key_id": "d2661ccb21e686658c6552cf1e0166b857091b2e", "private_key": "-----BEGIN PRIVATE ... -----END PRIVATE KEY-----\n", "client_email": "test-537@example-project-12345.iam.gserviceaccount.com", "client_id": "111772984510027821291", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/test-537%40example-project-12345.iam.gserviceaccount.com", "universe_domain": "googleapis.com" } '
Configure privateRegistry no ficheiro de configuração do cluster de administração
Para usar um registo privado, tem de configurar a secção privateRegistry quando cria o cluster de administrador. Depois de criar o cluster, não pode alterar o privateRegistry.address, mas as outras definições são mutáveis e pode atualizá-las, se necessário.
- Execute o seguinte comando para obter o endereço do registo: - gcloud artifacts repositories describe REGISTRY_NAME \ --project=PROJECT_ID --location=REGION- Substitua o seguinte: - REGISTRY_NAME: o nome da base de dados de registo.
- PROJECT_ID: o ID do projeto no qual o registo foi criado.
- LOCATION: a região em que o registo foi criado, como- us-west2.
 - O resultado é semelhante ao seguinte: - Encryption: Google-managed key Repository Size: 0.000MB cleanupPolicyDryRun: true createTime: '2025-01-28T03:27:57.701672Z' dockerConfig: {} format: DOCKER mode: STANDARD_REPOSITORY name: projects/example-project-12345/locations/us-west2/repositories/test registryUri: us-west2-docker.pkg.dev/example-project-12345/test satisfiesPzi: true updateTime: '2025-01-28T03:27:57.701672Z' vulnerabilityScanningConfig: enablementConfig: INHERITED enablementState: SCANNING_ACTIVE lastEnableTime: '2025-01-28T03:27:49.385246079Z'- Use o valor - registryUrino resultado para- privateRegistry.address.
- Execute o seguinte comando para extrair o certificado de AC do ponto final do Artifact Registry e guardá-lo num ficheiro denominado - ar-ca.pem:- true | openssl s_client -connect REGION-docker.pkg.dev:443 -showcerts 2>/dev/null| sed -ne '/-BEGIN/,/-END/p' > ar-ca.pem
- Preencha a secção - privateRegistryda seguinte forma:- privateRegistry: address: "REGISTRY_ADDRESS" credentials: fileRef: path: "CREDENTIAL_FILE_PATH" entry: "private-registry-creds" caCertPath: "CA_CERT_PATH" componentAccessServiceAccountKeyPath: "COMPONENT_ACCESS_KEY_PATH"- Substitua o seguinte: - REGISTRY_ADDRESS: o valor- registryUri.
- CREDENTIAL_FILE_PATH: o caminho completo ou relativo do ficheiro- admin-creds.yaml.
- CA_CERT_PATH: o caminho completo ou relativo do ficheiro- ar-ca.pem.
- COMPONENT_ACCESS_KEY_PATH: o caminho completo ou relativo do ficheiro de chave da conta de serviço de acesso ao componente.