UiPath Documentation
automation-suite
2.2510
true
Guide d'installation d'Automation Suite sur Linux
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Comment supprimer des images de l’ancien programme d’installation après la mise à niveau

Nettoyez les images de conteneur des versions précédentes du programme d'installation après la mise à niveau d'Automation Suite.

Si vous rencontrez des problèmes de vulnérabilité d’image ou de consommation de stockage après avoir effectué une mise à niveau, vous pouvez supprimer les images de l’ancien programme d’installation.

À partir d'Automation Suite 2023.10.5, vous pouvez nettoyer les images de la version précédente après la mise à niveau à partir du registre Docker intégré au cluster, à l'aide des commandes suivantes :

  • Pour supprimer les images qui ne sont plus nécessaires après la mise à niveau :

    cd /opt/UiPathAutomationSuite/<new_version>/installer
    ./bin/uipathctl registry cleanup --manifest versions/docker-images.json
    cd /opt/UiPathAutomationSuite/<new_version>/installer
    ./bin/uipathctl registry cleanup --manifest versions/docker-images.json
    
  • Pour supprimer les images des bundles à la demande, vous devez supprimer spécifiquement ces images :

    ./bin/uipathctl registry cleanup --manifest /versions/docker-images.json --images-list images-list.json
    ./bin/uipathctl registry cleanup --manifest /versions/docker-images.json --images-list images-list.json
    

    L'exemple suivant montre le format du fichier images-list.json :

    {
        "cleanup-list": [
            "aicenter/python39:23.10.0-rc4",
            "image2",
            "image3"
        ]
    }
    {
        "cleanup-list": [
            "aicenter/python39:23.10.0-rc4",
            "image2",
            "image3"
        ]
    }
    

Dans le cadre des versions précédentes d'Automation Suite, pour effectuer cette opération facultative de post-mise à niveau, procédez comme suit :

  1. Mettez à jour IMG, TAG, USER, PASS, registry et latest_image_json en fonction de la configuration du cluster dans le script suivant, puis exécutez-le :

    #!/bin/bash
    
    ### Please change the following variables as required
    IMG=<E.g. dataservice/dataservice-designer>
    TAG=<E.g. v20231116-tag>
    USER=<E.g. "admin">
    PASS=<E.g. "password">
    registry=<E.g. "registry.mycluster.com">
    latest_image_json=<E.g. "/opt/UiPathAutomationSuite/UiPath_Installer/versions/docker-images.json">
    ####
    
    [[ -f "${latest_image_json}" ]] || {
        echo "File "$latest_image_json" doesn't exist"
        exit 1
    }
    
    cat "${latest_image_json}" | tr -d '",' | grep -w "${IMG}:${TAG}" >> /dev/null && {
        echo "Image ${IMG}:${TAG} is being used in cluster. Will skip the deletion."
        exit 0
    }
    
    echo "Deleting image ${IMG}:${TAG}"
    
    cred="-u ${USER}:${PASS}"
    
    for i in `curl -k -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' $cred "https://$registry/v2/$IMG/manifests/$TAG" | jq -r '.layers | .[] | .digest'`; do
        curl -k  -H "Accept: application/vnd.docker.distribution.manifest.v2+json"  $cred -X DELETE "https://$registry/v2/$IMG/manifests/$i"
    done
    
    for i in `curl -k -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' $cred "https://$registry/v2/$IMG/manifests/$TAG" | jq -r '.config.digest'`; do
        curl -k  -H "Accept: application/vnd.docker.distribution.manifest.v2+json"  $cred -X DELETE "https://$registry/v2/$IMG/manifests/$i"
    done
    #!/bin/bash
    
    ### Please change the following variables as required
    IMG=<E.g. dataservice/dataservice-designer>
    TAG=<E.g. v20231116-tag>
    USER=<E.g. "admin">
    PASS=<E.g. "password">
    registry=<E.g. "registry.mycluster.com">
    latest_image_json=<E.g. "/opt/UiPathAutomationSuite/UiPath_Installer/versions/docker-images.json">
    ####
    
    [[ -f "${latest_image_json}" ]] || {
        echo "File "$latest_image_json" doesn't exist"
        exit 1
    }
    
    cat "${latest_image_json}" | tr -d '",' | grep -w "${IMG}:${TAG}" >> /dev/null && {
        echo "Image ${IMG}:${TAG} is being used in cluster. Will skip the deletion."
        exit 0
    }
    
    echo "Deleting image ${IMG}:${TAG}"
    
    cred="-u ${USER}:${PASS}"
    
    for i in `curl -k -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' $cred "https://$registry/v2/$IMG/manifests/$TAG" | jq -r '.layers | .[] | .digest'`; do
        curl -k  -H "Accept: application/vnd.docker.distribution.manifest.v2+json"  $cred -X DELETE "https://$registry/v2/$IMG/manifests/$i"
    done
    
    for i in `curl -k -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' $cred "https://$registry/v2/$IMG/manifests/$TAG" | jq -r '.config.digest'`; do
        curl -k  -H "Accept: application/vnd.docker.distribution.manifest.v2+json"  $cred -X DELETE "https://$registry/v2/$IMG/manifests/$i"
    done
    
  2. Exécutez la commande suivante dans le pod de registre, puis redémarrez le pod de registre.

    registry garbage-collect /etc/docker/registry/config.yaml
    registry garbage-collect /etc/docker/registry/config.yaml
    

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour