Mettre à jour l'agent Connect à l'aide d'un registre privé

Cette rubrique explique comment mettre à jour l'agent Connect si vous utilisez un registre Docker privé. Pour plus d'informations sur Connect, consultez la documentation du produit.

Présentation

Si vous choisissez d'enregistrer un cluster d'utilisateurs avec Google Cloud Console, un déploiement Kubernetes appelé agent Connect est créé dans le cluster. L'agent Connect établit une connexion chiffrée de longue durée entre le cluster et la console Google Cloud.

Parfois, Google met à jour l'agent Connect. Si vous utilisez un registre privé avec votre cluster, suivez ces instructions pour mettre à jour l'agent Connect.

Extraire l'image de l'agent Connect mise à jour

Extrayez l'image Connect Agent de gcr.io et transférez-la dans votre registre :

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

[PRIVATE_REGISTRY_HOST] est le nom d'hôte ou l'adresse IP de votre registre Docker privé.

Mettre à jour l'enregistrement du cluster utilisateur

Mettez à jour l'enregistrement de votre cluster d'utilisateur vers la console Google Cloud :

gcloud container fleet 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]

où :

  • [USER_CLUSTER_NAME] est le nom d'un cluster d'utilisateur enregistré, tel qu'il apparaît dans la console Google Cloud.
  • [CLUSTER_CONTEXT] correspond au contexte du cluster tel qu'il apparaît dans le fichier "kubeconfig". Pour obtenir cette valeur, exécutez kubectl config current-context.
  • [CONNECT_SA_KEY_FILE] est le chemin d'accès au fichier de clé JSON du compte de service de connexion.
  • [KUBECONFIG_PATH] est le chemin d'accès au fichier kubeconfig du cluster d'utilisateur.
  • [DOCKER_CONFIG_PATH] est un chemin d'accès à un fichier de configuration Docker JSON.

    Le fichier config.json que vous avez utilisé dans les commandes docker de la section précédente docker ci-dessus peut comporter des identifiants inutiles supplémentaires. Vous préférez peut-être récupérer les identifiants de votre cluster, ce qui garantit de ne pas ajouter par inadvertance des identifiants supplémentaires à votre 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
    

    Transmettez le chemin d'accès au fichier créé en tant que valeur de l'option --docker-credential-file, à la place de [DOCKER_CONFIG_PATH] ci-dessus.

  • [PROJECT_ID] correspond à l'ID du projet dans lequel le cluster d'utilisateur est enregistré. Pour savoir comment répertorier tous les projets de votre organisation, reportez-vous à la page Répertorier des projets.