automation-suite
2023.4
false
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática.
Guía de instalación de Automation Suite en Linux
Last updated 5 de sep. de 2024

Cómo eliminar imágenes del instalador antiguo después de la actualización

Si experimentas incidencias con las vulnerabilidades de imagen o el consumo de almacenamiento después de realizar una actualización, puedes eliminar las imágenes del instalador antiguo.

Starting with Automation Suite 2023.4.8, you can clean up the previous version images after the upgrade from the in-cluster Docker registry, using the following commands:

  • Para eliminar las imágenes que ya no son necesarias después de la actualización:

    cd /opt/UiPathAutomationSuite/<new_version>/installer
    ./bin/uipathctl registry cleanup --manifest versions/docker-images.jsoncd /opt/UiPathAutomationSuite/<new_version>/installer
    ./bin/uipathctl registry cleanup --manifest versions/docker-images.json
  • Para eliminar las imágenes de los paquetes bajo demanda, debes eliminar específicamente estas imágenes:

    ./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
    El siguiente ejemplo muestra el formato del archivo images-list.json :
    {
        "cleanup-list": [
            "aicenter/python39:23.10.0-rc4",
            "image2",
            "image3"
        ]
    }{
        "cleanup-list": [
            "aicenter/python39:23.10.0-rc4",
            "image2",
            "image3"
        ]
    }

Para las versiones anteriores de Automation Suite, para realizar esta operación opcional posterior a la actualización, sigue los siguientes pasos:

  1. Actualiza IMG, TAG, USER, PASS, registry y latest_image_json de acuerdo con la configuración del clúster en el siguiente script y, a continuación, ejecútalo:
    #!/bin/bash
    
    ### Please change below 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 below 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. Reinicia el pod de registro para la ejecución de recopilación de elementos no utilizados, o ejecuta en el pod de registro y ejecuta la recopilación de elementos no utilizados mediante el siguiente comando:

    registry garbage-collect /etc/docker/registry/config.ymlregistry garbage-collect /etc/docker/registry/config.yml

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.