Como atualizar o agente do Connect usando um registro privado

Neste tópico, você aprenderá a atualizar o agente do Connect se usar um registro particular do Docker. Para informações sobre o Connect, consulte a documentação do produto.

Visão geral

Se você optar por registrar um cluster de usuário com o Console do Google Cloud, uma implantação do Kubernetes chamada agente do Connect será criada no cluster. O agente do Connect estabelece uma conexão criptografada de longa duração entre o cluster e o Console do Cloud.

Às vezes, o Google atualiza o agente do Connect. Se você usa um registro particular com seu cluster, siga estas instruções para atualizar o agente do Connect.

Extrair imagem do agente do Connect atualizada

Extraia a imagem do agente do Connect de gcr.io e a envie para o registro:

docker pull gcr.io/gkeconnect/gkeconnect-gce:release
docker tag gcr.io/gkeconnect/gkeconnect-gce:release \
    [PRIVATE_REGISTRY_HOST]/gkeconnect/gkeconnect-gce:release
docker push [PRIVATE_REGISTRY_HOST]/gkeconnect/gkeconnect-gce:release

em que [PRIVATE_REGISTRY_HOST] é o nome do host ou o endereço IP do seu registro particular do Docker.

Atualizar registro de cluster de usuário

Atualize o registro do cluster de usuário do Console do Cloud:

gcloud container hub memberships register[USER_CLUSTER_NAME] \
  --context=[CLUSTER_CONTEXT] \
  --service-account-key-file=[CONNECT_SA_KEY_FILE] \
  --kubeconfig=[KUBECONFIG_PATH] \
  --docker-registry=[PRIVATE_REGISTRY_HOST] \
  --docker-credential-file=[DOCKER_CONFIG_PATH] \
  --project=[PROJECT_ID]

onde:

  • [USER_CLUSTER_NAME] é o nome de um cluster de usuário registrado, como aparece no Console do Cloud.
  • [CLUSTER_CONTEXT] é o contexto do cluster como ele aparece no arquivo kubeconfig. Para receber esse valor, execute kubectl config current-context.
  • [CONNECT_SA_KEY_FILE] é o caminho para o arquivo de chave JSON da conta de serviço de conexão.
  • [KUBECONFIG_PATH] é o caminho para o kubeconfig do cluster de usuário.
  • [DOCKER_CONFIG_PATH] é o caminho para um arquivo Docker config JSON.

    O arquivo config.json usado nos comandos docker dos comandos docker da seção anterior acima pode ter outras credenciais desnecessárias. É possível buscar credenciais no cluster, o que garante que outras credenciais não sejam incluídas inadvertidamente no cluster:

    kubectl get secret regcred \
    -o jsonpath='{.data.\.dockerconfigjson}' -n gke-connect | \
    base64 -d \  # On BSD systems (like macOS), use base64 -D
    >private_registry_config.json
    

    Transmita o caminho do arquivo criado como o valor da sinalização --docker-credential-file, no lugar do [DOCKER_CONFIG_PATH] acima.

  • [PROJECT_ID] é o ID do projeto em que o cluster de usuário está registrado. Para saber como listar todos os projetos na sua organização, consulte Como listar projetos.