automation-suite
2023.10
false
Importante :
La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.
UiPath logo, featuring letters U and I in white

Guía de instalación de Automation Suite en Linux

Última actualización 6 de nov. de 2025

Cómo recopilar datos de uso de DU con el almacén de objetos en el clúster (Ceph)

En esta sección se explica cómo recopilar datos de uso de Document Understanding (DU) cuando se utiliza el almacén de objetos en el clúster (Ceph).

Lleve a cabo los pasos siguientes:

  1. Antes de ejecutar el script del recopilador de DU, asegúrate de actualizar los siguientes valores:
    • <REGISTRY>:
      • Usa localhost:30071 para implementaciones sin conexión.
      • Utiliza registry.uipath.com para las implementaciones en línea.
      • Utiliza tu URL de registro externo para registros privados.
    • <TAG>: abre versions.json y localiza la etiqueta de imagen sf-k8-utils-rhel . Utiliza esta etiqueta para reemplazar <TAG> en el script.
  2. Ejecuta el script del recopilador de uso de DU después de actualizar los valores, de la siguiente manera:
    NAMESPACE="rook-ceph"
    POD_NAME="du-usage-collector"
    SECRET_NAME="ceph-object-store-secret"
    LOCAL_TAR="du-usage.tar.gz"
    MOUNTED_SECRET_PATH="/rook-secret"
    TARGET_PATH="aistorage/org-00000000-0000-0000-0000-000000000001/tenant-00000000-0000-0000-0000-000000000001"
    BUCKET_NAME="ai-storage"
    IMAGE="<REGISTRY>/uipath/sf-k8-utils-rhel:<TAG>"
    
    echo "[*] Removing pod $POD_NAME in namespace $NAMESPACE..."
    kubectl delete pod "$POD_NAME" -n "$NAMESPACE" --ignore-not-found=true
    
    echo "[*] Creating pod $POD_NAME in namespace $NAMESPACE..."
    kubectl apply -n "$NAMESPACE" -f - <<EOF
    apiVersion: v1
    kind: Pod
    metadata:
      name: $POD_NAME
      namespace: $NAMESPACE
    spec:
      restartPolicy: Never
      containers:
      - name: sleep
        image: $IMAGE
        command: ["bash", "-c", "echo 'Main container started, sleeping...'; sleep 3600"]
        volumeMounts:
        - name: output
          mountPath: /output
      initContainers:
      - name: du-usage-collector
        image: $IMAGE
        command: ["/bin/bash", "-c"]
        args:
          - |
            set -euo pipefail
            echo "[*] Extracting Ceph secret values..."
            ACCESS_KEY=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_ACCESSKEY)
            SECRET_KEY=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_SECRETKEY)
            HOST=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_INTERNAL_SERVICE)
            PORT=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_PORT)
            export AWS_ACCESS_KEY_ID=\$ACCESS_KEY
            export AWS_SECRET_ACCESS_KEY=\$SECRET_KEY
            echo "[*] Syncing from s3://$BUCKET_NAME/$TARGET_PATH ..."
            mkdir -p /tmp/download
            s3cmd sync s3://$BUCKET_NAME/$TARGET_PATH/ /tmp/download/ \
              --host=\$HOST:\$PORT --host-bucket= --no-ssl --no-check-certificate
            echo "[*] Creating archive..."
            mkdir -p /output
            tar -czf /output/du-usage.tar.gz -C /tmp/download .
            echo "[✔] Archive ready at /output/du-usage.tar.gz"
        volumeMounts:
        - name: rook-secret
          mountPath: $MOUNTED_SECRET_PATH
          readOnly: true
        - name: output
          mountPath: /output
      volumes:
      - name: rook-secret
        secret:
          secretName: $SECRET_NAME
          optional: false
      - name: output
        emptyDir: {}
    EOF
    
    echo "[*] Waiting for pod to be Running..."
    for i in {1..30}; do
      phase=$(kubectl get pod "$POD_NAME" -n "$NAMESPACE" -o jsonpath="{.status.phase}")
      if [[ "$phase" == "Running" ]]; then
        echo "Pod is Running."
        break
      fi
      echo "[$i] Still waiting..."
      sleep 5
    done
    
    echo -e "\nArchive will be saved as: $LOCAL_TAR\n\n"
    echo "[*] Copying archive from pod to local..."
    kubectl cp "$NAMESPACE/$POD_NAME:/output/du-usage.tar.gz" "$LOCAL_TAR"NAMESPACE="rook-ceph"
    POD_NAME="du-usage-collector"
    SECRET_NAME="ceph-object-store-secret"
    LOCAL_TAR="du-usage.tar.gz"
    MOUNTED_SECRET_PATH="/rook-secret"
    TARGET_PATH="aistorage/org-00000000-0000-0000-0000-000000000001/tenant-00000000-0000-0000-0000-000000000001"
    BUCKET_NAME="ai-storage"
    IMAGE="<REGISTRY>/uipath/sf-k8-utils-rhel:<TAG>"
    
    echo "[*] Removing pod $POD_NAME in namespace $NAMESPACE..."
    kubectl delete pod "$POD_NAME" -n "$NAMESPACE" --ignore-not-found=true
    
    echo "[*] Creating pod $POD_NAME in namespace $NAMESPACE..."
    kubectl apply -n "$NAMESPACE" -f - <<EOF
    apiVersion: v1
    kind: Pod
    metadata:
      name: $POD_NAME
      namespace: $NAMESPACE
    spec:
      restartPolicy: Never
      containers:
      - name: sleep
        image: $IMAGE
        command: ["bash", "-c", "echo 'Main container started, sleeping...'; sleep 3600"]
        volumeMounts:
        - name: output
          mountPath: /output
      initContainers:
      - name: du-usage-collector
        image: $IMAGE
        command: ["/bin/bash", "-c"]
        args:
          - |
            set -euo pipefail
            echo "[*] Extracting Ceph secret values..."
            ACCESS_KEY=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_ACCESSKEY)
            SECRET_KEY=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_SECRETKEY)
            HOST=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_INTERNAL_SERVICE)
            PORT=\$(cat $MOUNTED_SECRET_PATH/OBJECT_STORAGE_PORT)
            export AWS_ACCESS_KEY_ID=\$ACCESS_KEY
            export AWS_SECRET_ACCESS_KEY=\$SECRET_KEY
            echo "[*] Syncing from s3://$BUCKET_NAME/$TARGET_PATH ..."
            mkdir -p /tmp/download
            s3cmd sync s3://$BUCKET_NAME/$TARGET_PATH/ /tmp/download/ \
              --host=\$HOST:\$PORT --host-bucket= --no-ssl --no-check-certificate
            echo "[*] Creating archive..."
            mkdir -p /output
            tar -czf /output/du-usage.tar.gz -C /tmp/download .
            echo "[✔] Archive ready at /output/du-usage.tar.gz"
        volumeMounts:
        - name: rook-secret
          mountPath: $MOUNTED_SECRET_PATH
          readOnly: true
        - name: output
          mountPath: /output
      volumes:
      - name: rook-secret
        secret:
          secretName: $SECRET_NAME
          optional: false
      - name: output
        emptyDir: {}
    EOF
    
    echo "[*] Waiting for pod to be Running..."
    for i in {1..30}; do
      phase=$(kubectl get pod "$POD_NAME" -n "$NAMESPACE" -o jsonpath="{.status.phase}")
      if [[ "$phase" == "Running" ]]; then
        echo "Pod is Running."
        break
      fi
      echo "[$i] Still waiting..."
      sleep 5
    done
    
    echo -e "\nArchive will be saved as: $LOCAL_TAR\n\n"
    echo "[*] Copying archive from pod to local..."
    kubectl cp "$NAMESPACE/$POD_NAME:/output/du-usage.tar.gz" "$LOCAL_TAR"
    
  3. Después de recuperar el archivo, elimina el pod:
    kubectl delete pod "$POD_NAME" -n "$NAMESPACE"kubectl delete pod "$POD_NAME" -n "$NAMESPACE"
    
El archivo du-usage.tar.gz contiene los datos de uso de DU.

¿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
Confianza y seguridad
© 2005-2025 UiPath. Todos los derechos reservados.