automation-suite
2023.4
false
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。
UiPath logo, featuring letters U and I in white

Linux の Automation Suite のインストール ガイド

最終更新日時 2025年9月5日

クラスター内の ObjectStore (Ceph) を使用して DU の使用状況データを収集する方法

このセクションでは、クラスター内の ObjectStore (Ceph) を使用する場合に Document Understanding (DU) の使用状況データを収集する方法について説明します。

次の手順を実行します。

  1. DU コレクター スクリプトを実行する前に、必ず次の値を更新してください。
    • <REGISTRY>:
      • オフライン デプロイには localhost:30071 を使用します。
      • オンライン デプロイには registry.uipath.com を使用します。
      • プライベート レジストリには外部レジストリ URL を使用してください。
    • <TAG>: versions.json を開き、 sf-k8-utils-rhel イメージ タグを見つけます。このタグを使用して、スクリプト内の <TAG> を置き換えます。
  2. 値を更新した後、次のように DU 使用状況コレクター スクリプトを実行します。
    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. アーカイブの取得後、ポッドを削除します。
    kubectl delete pod "$POD_NAME" -n "$NAMESPACE"kubectl delete pod "$POD_NAME" -n "$NAMESPACE"
    
du-usage.tar.gzファイルには、DU の使用状況データが含まれています。

このページは役に立ちましたか?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
Uipath Logo
信頼とセキュリティ
© 2005-2025 UiPath. All rights reserved.