automation-suite
2023.10
false
- 概述
- 要求
- 安装
- 安装后
- 迁移和升级
- 监控和警示
- 集群管理
- 特定于产品的配置
- 故障排除
- 如何将应用程序日志转发到 Splunk
- 如何使用证书
- 如何使用集群内对象存储 (Ceph) 收集 DU 使用情况数据
- 如何卸载 Automation Suite
重要 :
新发布内容的本地化可能需要 1-2 周的时间才能完成。

EKS/AKS 上的 Automation Suite 安装指南
上次更新日期 2025年12月4日
本节说明在使用集群内对象存储 (Ceph) 时如何收集 Document Understanding (DU) 使用情况数据。
采取以下步骤:
- 在运行 DU 收集器脚本之前,请确保更新以下值:
<REGISTRY>:- 使用
localhost:30071进行离线部署。 - 使用
registry.uipath.com进行在线部署。 - 将您的外部注册表 URL 用于私有注册表。
- 使用
<TAG>:打开versions.json并找到sf-k8-utils-rhel图像标签。使用此标签替换脚本中的<TAG>。
- 更新值后运行 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" - 检索存档后,删除 Pod:
kubectl delete pod "$POD_NAME" -n "$NAMESPACE"kubectl delete pod "$POD_NAME" -n "$NAMESPACE"
du-usage.tar.gz文件包含 DU 使用情况数据。