automation-suite
2023.10
false
UiPath logo, featuring letters U and I in white

Linux 版 Automation Suite 安装指南

上次更新日期 2025年2月17日

Cron 作业触发数百个作业,导致节点负载过高

描述

在 2023.10.6、2023.4.9 和 2022.10.14 版本之前,某些 Automation Suite CRON 作业未将并发策略设置为“禁止”。 在节点维护事件期间,此问题可能会同时触发数百个 CRON 作业,从而导致节点负载过高。 要了解如何解决此问题,请参阅解决方案 1。

此问题还会由于 Cilium 错误而导致 Pod 计划失败: Key allocation attempt failed attempt=0 error="no more available IDs in configured space" 。 要了解如何解决此问题,请参阅解决方案 2。

解决方案 1

确定是哪些 cron 作业触发了大量实例,并删除这些 cron 作业。

CRONJOB_NAME="<cronjob-name>"
NAMESPACE="<namespace>"

# Delete all jobs associated with the CronJob
kubectl get jobs -n "$NAMESPACE" | grep "$CRONJOB_NAME" | awk '{print $1}' | xargs -I{} kubectl delete job -n "$NAMESPACE" {}CRONJOB_NAME="<cronjob-name>"
NAMESPACE="<namespace>"

# Delete all jobs associated with the CronJob
kubectl get jobs -n "$NAMESPACE" | grep "$CRONJOB_NAME" | awk '{print $1}' | xargs -I{} kubectl delete job -n "$NAMESPACE" {} 

解决方案 2

您可以通过运行以下命令来验证 Pod 计划中的失败: kubectl get ciliumid | wc -l

如果该命令返回超过 10000 个 ID,则需要清理未使用的 Cilium ID 并重新启动 Cilium 部署。

# Step 1: Get all CiliumIDs
ALL_CILIUMIDS=$(kubectl get ciliumid --no-headers -o custom-columns=":metadata.name")

# Step 2: Get active pod UIDs 
ACTIVE_POD_UIDS=$(kubectl get pods -A -o jsonpath='{.items[*].metadata.uid}') 

# Step 3: Compare and delete stale CiliumIDs 
for CID in $ALL_CILIUMIDS; do
 if [[ ! "$ACTIVE_POD_UIDS" =~ "$CID" ]]; then
  echo "Deleting stale CiliumID: $CID"
  kubectl delete ciliumid "$CID"
 fi
done

# Step 4: Restart cilium operator and daemonset
kubectl rollout restart deployment/cilium-operator -n kube-system
kubectl rollout restart daemonset/cilium -n kube-system# Step 1: Get all CiliumIDs
ALL_CILIUMIDS=$(kubectl get ciliumid --no-headers -o custom-columns=":metadata.name")

# Step 2: Get active pod UIDs 
ACTIVE_POD_UIDS=$(kubectl get pods -A -o jsonpath='{.items[*].metadata.uid}') 

# Step 3: Compare and delete stale CiliumIDs 
for CID in $ALL_CILIUMIDS; do
 if [[ ! "$ACTIVE_POD_UIDS" =~ "$CID" ]]; then
  echo "Deleting stale CiliumID: $CID"
  kubectl delete ciliumid "$CID"
 fi
done

# Step 4: Restart cilium operator and daemonset
kubectl rollout restart deployment/cilium-operator -n kube-system
kubectl rollout restart daemonset/cilium -n kube-system
  • 描述
  • 解决方案 1
  • 解决方案 2

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2025 UiPath。保留所有权利。