UiPath Documentation
automation-suite
2023.10
false
Automation Suite in der EKS/AKS-Installationsanleitung
Wichtig :
Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.

Sammeln von DU-Nutzungsdaten mit dem clusterinternen Objektspeicher (Ceph)

Sammeln von Document Understanding-Nutzungsdaten, wenn der clusterinterne Objektspeicher (Ceph) in der Automation Suite in EKS/AKS verwendet wird.

In diesem Abschnitt wird erläutert, wie DU-Nutzungsdaten erfasst werden, wenn der clusterinterne Objektspeicher (Ceph) verwendet wird.

Führen Sie die folgenden Schritte aus:

  1. Bevor Sie das DU-Sammlerskript ausführen, stellen Sie sicher, dass Sie die folgenden Werte aktualisieren:
    • <REGISTRY>:
      • Verwenden Sie localhost:30071 für Offlinebereitstellungen.
      • Verwenden Sie registry.uipath.com für Onlinebereitstellungen.
      • Verwenden Sie Ihre externe Registrierungs-URL für private Registrierungen.
    • <TAG>: Öffnen Sie versions.json und suchen Sie das Image-Tag sf-k8-utils-rhel . Verwenden Sie dieses Tag, um <TAG> im Skript zu ersetzen.
  2. Führen Sie das DU-Nutzungssammlungsskript aus, nachdem Sie die Werte wie folgt aktualisiert haben:
    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. Löschen Sie den Pod, nachdem Sie das Archiv abgerufen haben:
    kubectl delete pod "$POD_NAME" -n "$NAMESPACE"
    kubectl delete pod "$POD_NAME" -n "$NAMESPACE"
    

Die Datei du-usage.tar.gz enthält die DU-Nutzungsdaten.

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben