Modifier les artefacts système

Cette page explique comment modifier les artefacts système dans l'appliance Google Distributed Cloud (GDC) isolée.

Modifiez les artefacts système dans GDC pour gérer et affiner votre déploiement.

Avant de commencer

Pour modifier les artefacts système, vous devez obtenir un accès aux diagnostics et disposer des rôles d'identité et d'accès nécessaires :

  • L'accès aux diagnostics est un mode d'accès privilégié requis pour aider un client de manière sécurisée lorsqu'il rencontre un problème. Vous devez créer une demande pour obtenir cet accès.
  • Débogueur System Artifact Registry : dispose d'un accès en lecture et en écriture à toutes les ressources Harbor. Demandez à votre administrateur de sécurité de vous accorder le rôle de cluster "Débogueur System Artifact Registry" (sar-debugger).
  • Debugger secret harbor-system System Artifact Registry : il dispose d'un accès au débogueur dans l'espace de noms harbor-system. Demandez à votre administrateur de sécurité de vous accorder le rôle Debugger du secret harbor-system System Artifact Registry (sar-harbor-system-secret-debugger).

Importer des images Docker

Pour modifier les artefacts système, vous devez importer de nouvelles images Docker. La méthode d'importation dépend du registre vers lequel vous transférez vos images de conteneurs :

Les sections suivantes présentent les instructions d'importation pour les deux types de registres.

Importer l'image de conteneur dans la machine bootstrap

Pour importer des images de conteneur dans Artifact Registry sur la machine bootstrap, procédez comme suit :

  1. Assurez-vous d'avoir l'image Docker modifiée avec les problèmes de rupture corrigés.

  2. Transférez la nouvelle image vers le nœud d'amorçage de votre environnement GDC.

  3. Connectez-vous au nœud d'amorçage.

  4. Localisez l'adresse d'Artifact Registry sur la machine d'amorçage au moment de l'amorçage et définissez-la comme variable d'environnement REGISTRY_IP :

    REGISTRY=$(kubectl get harborcluster harbor -n harbor-system -o=jsonpath='{.spec.externalURL}')
    
    REGISTRY_IP=${REGISTRY#https://}
    
  5. Récupérez les identifiants permettant d'accéder à Artifact Registry. Récupérez le compte administrateur et le mot de passe :

    ADMIN_PASS=$(kubectl -n harbor-system get secret harbor-admin \
        -o jsonpath="{.data.secret}" | base64 -d)
    
  6. Connectez-vous à Artifact Registry :

    docker login $REGISTRY_IP -u admin -p $ADMIN_PASS
    

    Un message Login Succeeded s'affiche pour confirmer que vous vous êtes bien connecté à Artifact Registry.

  7. Ajoutez un tag à la nouvelle image :

    docker image tag CONTAINER_IMAGE_URL \
        $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

    Remplacez les éléments suivants :

    • CONTAINER_IMAGE_URL : URL de l'image de conteneur locale, par exemple gcr.io/repository/image:tag.
    • PROJECT_NAME : nom du projet Artifact Registry.
    • IMAGE_NAME : nom de l'image du conteneur.
    • TAG : tag de l'image du conteneur.
  8. Transférez la nouvelle image vers Artifact Registry :

    docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

Importer l'image de conteneur dans le cluster d'infrastructure de l'organisation

Pour importer des images de conteneurs dans Artifact Registry sur un cluster d'infrastructure d'organisation, procédez comme suit :

  1. Assurez-vous d'avoir l'image Docker modifiée avec les problèmes de rupture corrigés.

  2. Transférez la nouvelle image vers un nœud disposant d'un accès racine avec un fichier kubeconfig racine vers le cluster d'infrastructure de l'organisation dans votre environnement isolé.

  3. Exportez le chemin d'accès du cluster d'infrastructure de l'organisation kubeconfig en tant que variable d'environnement :

    export ORG_INFRA_KUBECONFIG=KUBECONFIG_FILE_PATH
    

    Remplacez KUBECONFIG_FILE_PATH par le chemin d'accès au fichier kubeconfig.

  4. Localisez l'adresse Artifact Registry dans le cluster et définissez-la comme variable d'environnement REGISTRY_IP :

    REGISTRY=$(kubectl --kubeconfig $ORG_INFRA_KUBECONFIG get harborcluster /
    harbor -n harbor-system -o=jsonpath='{.spec.externalURL}')
    
    REGISTRY_IP=${REGISTRY#https://}
    
  5. Assurez-vous que REGISTRY_IP contient une URL valide, telle que 10.200.0.36:10443 :

    echo ${REGISTRY_IP}
    
  6. Vérifiez si le certificat de l'autorité de certification (AC) existe :

    ls -al /etc/docker/certs.d/${REGISTRY_IP}/ca.crt
    

    Si le certificat n'existe pas, créez-le et configurez-le :

    mkdir -p /etc/docker/certs.d/${REGISTRY_IP}/
    
    chmod 755  /etc/docker/certs.d/${REGISTRY_IP}/
    
    echo $(kubectl get secret harbor-cert-secret -n istio-system -o jsonpath='{.data.ca\.crt}' --kubeconfig $ORG_INFRA_KUBECONFIG) | openssl base64 -A -d >  /etc/docker/certs.d/${REGISTRY_IP}/ca.crt
    
    chmod 755 /etc/docker/certs.d/${REGISTRY_IP}/ca.crt
    
  7. Récupérez les identifiants permettant d'accéder à Artifact Registry. Utilisez la commande suivante pour récupérer le compte et le mot de passe de l'administrateur :

    ADMIN_PASS=$(kubectl --kubeconfig $ORG_INFRA_KUBECONFIG \
        -n harbor-system get secret harbor-admin \
        -o jsonpath="{.data.secret}" | base64 -d)
    
  8. Connectez-vous à Artifact Registry :

    docker login $REGISTRY_IP -u admin -p $ADMIN_PASS
    

    Un message Login Succeeded s'affiche pour confirmer que vous vous êtes bien connecté à Artifact Registry.

  9. Ajoutez un tag à la nouvelle image :

    docker image tag CONTAINER_IMAGE_URL \
        $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

    Remplacez les éléments suivants :

    • CONTAINER_IMAGE_URL : URL de l'image de conteneur locale, par exemple gcr.io/repository/image:tag.
    • PROJECT_NAME : nom du projet Artifact Registry.
    • IMAGE_NAME : nom de l'image du conteneur.
    • TAG : tag de l'image du conteneur.
  10. Transférez la nouvelle image vers Artifact Registry :

    docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

Modifier les artefacts système

Utilisez les commandes gdcloud artifacts pour modifier les artefacts système dans GDC. Mettez à jour, personnalisez et sécurisez votre déploiement en effectuant des actions telles que le remplacement de packages logiciels, l'ajustement des configurations et l'application de correctifs.

Effectuez les actions suivantes :

  • Gérez les packages apt.
  • Créez et extrayez des images à partir de packages OCI.
  • Répertoriez les versions disponibles de l'image OCI racine.
  • Corrigez les packages existants.
  • Transférer et extraire des packages OCI vers et depuis un registre.
  • Affichez la structure d'un bundle OCI.
  • Décompressez les bundles OCI.

Pour en savoir plus, consultez la page gdcloud artifacts.