- 概述
- 要求
- 部署模板
- 手动:准备安装
- 手动:准备安装
- 步骤 2:为离线安装配置符合 OCI 的注册表
- 步骤 3:配置外部对象存储
- 步骤 4:配置 High Availability Add-on
- 步骤 5:配置 SQL 数据库
- 步骤 7:配置 DNS
- 步骤 8:配置磁盘
- 步骤 9:配置内核和操作系统级别设置
- 步骤 10:配置节点端口
- 步骤 11:应用其他设置
- 步骤 12:验证并安装所需的 RPM 包
- 步骤 13:生成 cluster_config.json
- Cluster_config.json 示例
- 常规配置
- 配置文件配置
- 证书配置
- 数据库配置
- 外部对象存储配置
- 预签名 URL 配置
- ArgoCD 配置
- Kerberos 身份验证配置
- 符合 OCI 的外部注册表配置
- Disaster Recovery:主动/被动和主动/主动配置
- High Availability Add-on 配置
- 特定于 Orchestrator 的配置
- Insights 特定配置
- Process Mining 特定配置
- Document Understanding 特定配置
- Automation Suite Robot 特定配置
- 监控配置
- 可选:配置代理服务器
- 可选:在多节点 HA 就绪生产集群中启用区域故障恢复
- 可选:传递自定义 resolv.conf
- 可选:提高容错能力
- 添加具有 GPU 支持的专用代理节点
- 为 Automation Suite Robot 添加专用代理节点
- 步骤 15:为离线安装配置临时 Docker 注册表
- 步骤 16:验证安装的先决条件
- 正在运行 uipathctl
- 手动:执行安装
- 安装后
- 集群管理
- 监控和警示
- 迁移和升级
- 特定于产品的配置
- 最佳实践和维护
- 故障排除
- 如何在安装过程中对服务进行故障排除
- 如何减少 NFS 备份目录的权限
- 如何卸载集群
- 如何清理离线工件以改善磁盘空间
- 如何清除 Redis 数据
- 如何启用 Istio 日志记录
- 如何手动清理日志
- 将 Ceph 退出只读模式
- 如何清理存储在 sf-logs 存储桶中的旧日志
- 如何禁用 AI Center 的流日志
- 如何对失败的 Automation Suite 安装进行调试
- 如何在升级后从旧安装程序中删除映像
- 如何禁用 TX 校验和卸载
- 如何手动将 ArgoCD 日志级别设置为 Info
- 如何扩展 AI Center 存储
- 如何为外部注册表生成已编码的 pull_secret_value
- 如何解决 TLS 1.2 中的弱密码问题
- 如何查看 TLS 版本
- 如何使用证书
- 如何计划 Ceph 备份和还原数据
- 如何使用集群内对象存储 (Ceph) 收集 DU 使用情况数据
- 如何在离线环境中安装 RKE2 SELinux
- 如何清理 NFS 服务器上的旧差异备份
- 如何在已启用 FIPS 的集群中部署 Insights
- 如何迁移到 cgroup v2
- 如何在虚拟机重新启动后恢复 Kerberos 身份验证
- 如何将本地 Docker 映像推送到集群内注册表
- 如何从备份中排除存储桶
- 无法获取沙盒映像
- Pod 未显示在 ArgoCD 用户界面中
- Redis 探测器失败
- RKE2 服务器无法启动
- ArgoCD 在首次安装后进入“进行中”状态
- 处于 CrashLoopBackOff 状态的 ArgoCD 存储库服务器 Pod
- 手动 ArgoCD 网络策略缓解措施 (MHSA-47m3-95c7-g2g8)
- 监控仪表板中缺少 Ceph-rook 指标
- 诊断性运行状况检查期间报告的错误不匹配
- 为 uipathctl 创建的工作负载配置资源请求和限制
- 无正常的上游问题
- 杀毒软件阻止了 Redis 启动
- 无法在启用 TLS 证书验证的情况下启动 AI Center 和 Document Understanding Pod
- Fluentd 不会在 IPv6 环境中导出日志
- Studio 桌面版无法加载 Integration Service 连接器和活动
- 运行诊断工具
- 使用 Automation Suite 支持捆绑包
- 探索日志
Automation Suite 监控中的 Kubernetes 资源问题的警示定义和解决方案。
k8s. rules、kube-apiserver-availability. rules、kube-apiserver-slos
KubeAPIErrorBudgetBurn
Kubernetes API 服务器消耗了过多的错误预算。
kube-state-metrics
KubeStateMetricsListErrors, KubeStateMetricsWatchErrors
Kube 状态指标收集器无法在没有错误的情况下从集群收集指标。这意味着可能不会触发重要的警示。请联系 UiPath™ 支持团队。
另请参阅:发布时的 Kube 状态指标。
KubernetesMemoryPressure
此警示表示 Kubernetes 节点上的内存使用率非常高。
当 Kubernetes 集群节点内存不足时,发生事件类型为 MemoryPressure 的 Kubernetes 节点,这可能是由应用程序中的内存泄漏引起的。 您需要立即注意此类型的事件,以防止出现任何停机情况,并确保 Kubernetes 集群正常运行。
如果触发此警示,请尝试采取以下步骤来确定节点上消耗较多内存的 Pod:
-
检索节点 CPU 和内存统计信息:
kubectl top nodekubectl top node -
检索节点上运行的 Pod:
kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=${NODE_NAME}kubectl get pods --all-namespaces -o wide --field-selector spec.nodeName=${NODE_NAME} -
使用以下命令检查命名空间中 Pod 的内存使用情况:
kubectl top pod --namespace <namespace> kubectl logs -f <pod-name> -n <ns>kubectl top pod --namespace <namespace> kubectl logs -f <pod-name> -n <ns>
如果您能够识别任何内存使用率高的 Pod,请检查 Pod 的日志并查找内存泄漏错误。
要解决此问题,请尽可能增加节点的内存规格。
如果问题仍然存在,请生成支持捆绑包并联系 UiPath™ 支持团队。
kubernetes-apps
KubePodCrashLooping
不断意外重启的 Pod。发生这种情况的原因可能是内存不足 (OOM) 错误,在这种情况下,可以调整限制。使用 kubectl describe 检查 Pod 事件,并使用 kubectl logs 检查日志,以查看有关可能崩溃的详细信息。如果问题仍然存在,请联系 UiPath™ 支持团队。
KubePodNotReady
Pod 已启动,但未成功响应运行状况探测器。这可能意味着它卡住了,无法提供流量。您可以使用 kubectl logs 检查 Pod 日志,以查看是否有任何进度指示。如果问题仍然存在,请联系 UiPath™ 支持团队。
KubeDeploymentGenerationMismatch, KubeStatefulSetGenerationMismatch
已尝试对部署或状态副本集进行更新,但失败了,并且尚未发生回滚。请联系 UiPath™ 支持团队。
KubeDeploymentReplicasMismatch, KubeStatefulSetReplicasMismatch
在具有多个副本的高可用性集群中,当副本数量不是最佳时,将触发此警示。当集群中没有足够的资源进行计划时,可能会发生这种情况。检查资源利用率,并根据需要添加容量。否则,请联系 UiPath™ 支持团队。
KubeStatefulSetUpdateNotRolledOut
状态副本集更新失败。请联系 UiPath™ 支持团队。
另请参阅:状态副本集。
KubeDaemonSetRolloutStuck
守护程序集推出失败。请联系 UiPath™ 支持团队。
另请参阅:守护程序集。
KubeContainerWaiting
容器卡在等待状态。它已计划到工作器节点,但无法在该计算机上运行。查看 Pod 的 kubectl describe 以获取更多信息。等待容器的最常见原因是拉取映像失败。对于离线集群,这可能意味着本地注册表不可用。如果问题仍然存在,请联系 UiPath™ 支持团队。
KubeDaemonSetNotScheduled, KubeDaemonSetMisScheduled
这可能表明其中一个节点存在问题,检查每个节点的运行状况,并修复任何已知问题。否则,请联系 UiPath™ 支持团队。
KubeJobCompletion
完成一项作业需要超过 12 个小时。这不是预期的。请联系 UiPath™ 支持团队。
KubeJobFailed
作业失败;但是,大多数作业都会自动重试。如果问题仍然存在,请联系 UiPath™ 支持团队。
Kube 作业未完成
完成 Kubernetes 作业所需的时间长于预期。这可能表明资源有限、init 容器卡住或作业截止日期配置错误。使用kubectl describe job和kubectl get pods检查作业及其 Pod 状态。如果问题仍然存在,请联系 UiPath™ 支持团队。
监控 OOM 警示
已终止 KubeContainerOOM
内核内存不足 (OOM) 终止程序终止了容器,因为它超出了其内存限制。当容器重新启动并且其最后一个终止原因是OOMKilled ,此警示会立即触发。查看容器的内存使用情况并增加其内存限制,或使用kubectl logs和kubectl describe pod调查应用程序的内存泄漏。如果问题仍然存在,请联系 UiPath™ 支持团队。
容器内存使用上限
容器使用了其配置的内存限制的 90% 以上,并且持续时间超过 15 分钟。这是一个早期警告,指出如果内存使用量持续增长,可能会发生 OOM 终止。使用kubectl top pod监控容器的内存趋势,并考虑主动增加内存限制。如果问题仍然存在,请联系 UiPath™ 支持团队。
KubeHpaReplicasMismatch
自动调节程序无法按配置扩展目标资源。如果期望值高于实际值,则可能是资源不足。如果期望值低于实际值,则 Pod 可能会在关闭时卡住。如果问题仍然存在,请联系 UiPath™ 支持团队。
另请参阅:水平 Pod 自动调节
KubeHpaMaxedOut
给定服务的副本数量已达到最大值。当对集群发出的请求数量非常多时,就会发生这种情况。如果预计会有暂时的高流量,您可以静默此警示。
但是,此警示表示集群已满,无法处理更多流量。如果集群上有更多资源容量可用,您可以按照以下说明增加服务的最大副本数:
# Find the horizontal autoscaler that controls the replicas of the desired resource
kubectl get hpa -A
# Increase the number of max replicas of the desired resource, replacing <namespace> <resource> and <maxReplicas>
kubectl -n <namespace> patch hpa <resource> --patch '{"spec":{"maxReplicas":<maxReplicas>}}'
# Find the horizontal autoscaler that controls the replicas of the desired resource
kubectl get hpa -A
# Increase the number of max replicas of the desired resource, replacing <namespace> <resource> and <maxReplicas>
kubectl -n <namespace> patch hpa <resource> --patch '{"spec":{"maxReplicas":<maxReplicas>}}'
另请参阅:水平 Pod 自动调节。
kubernetes-resources
KubeCPUOvercommit, KubeMemoryOvercommit
这些警告表明集群不能容忍节点故障。对于单节点评估集群,这是已知的,并且系统可能会静默这些警示。对于多节点 HA 就绪生产设置,当太多节点运行状况不佳而无法支持高可用性时,将触发这些警示,并指示应将节点恢复正常状态或进行更换。
KubeCPUQuotaOvercommit, KubeMemoryQuotaOvercommit, KubeQuotaAlmostFull, KubeQuotaFullyUsed, KubeQuotaExceeded
这些警示与通过自定义添加的命名空间资源配额有关,这些配额仅存在于集群中。命名空间资源配额不会作为 Automation Suite 安装的一部分添加。
另请参阅:资源配额。
AggregatedAPIErrors, AggregatedAPIDown, KubeAPIDown, KubeAPITerminatedRequests
指示 Kubernetes 控制平面存在问题。检查主节点的运行状况,解决所有未解决的问题,如果问题持续存在,请联系 UiPath™ 支持团队。
另请参阅:
kubernetes-system-kubelet
KubeNodeNotReady, KubeNodeUnreachable, KubeNodeReadinessFlapping, KubeletPlegDurationHigh, KubeletPodStartUpLatencyHigh, KubeletDown
这些警示表示节点存在问题。在多节点 HA 就绪生产集群中,系统可能会将 Pod 重新安排在其他节点上。如果问题仍然存在,则应删除并排空节点,以保持集群的良好运行状况。在没有额外容量的集群中,应首先将另一个节点加入集群。
如果问题仍然存在,请联系 UiPath™ 支持团队。
KubeletTooManyPods
指定节点上运行的 Pod 过多。
将另一个节点加入集群。
kubernetes-system
KubeVersionMismatch
正在运行的 Kubernetes 组件有不同的语义版本。发生这种情况的原因可能是 Kubernetes 升级失败。
KubeClientErrors
Kubernetes API 服务器客户端遇到超过 1% 的错误。运行此客户端的节点或 Kubernetes API 服务器本身可能存在问题。
etdc 警示
EtcdInsufficientMembers
此警示表示 etcd 集群的成员数量不足。 请注意,集群必须具有奇数个成员。 此警示的严重性非常严重。
确保集群中有奇数个服务器节点,并且所有节点都正常运行。
EtcdNoLeader
此警示显示 etcd 集群没有领导者。 此警示的严重性非常严重。
EtcdHighNumberOfLeaderChanges
此警示表示 etcd 领导者在 10 分钟内更改了两次以上。 这是一个警告。
EtcdHighNumberOfFailedGrpcRequests
此警示表示在 etcd 中检测到一定百分比的 GRPC 请求失败。
EtcdGrpcRequestsSlow
此警示表示 etcd GRPC 请求速度很慢。 这是一个警告。
如果此警示持续存在,请联系 UiPath™ 支持团队。
EtcdHighNumberOfFailedHttpRequests
此警示表示在 etcd 中检测到一定百分比的 HTTP 失败。
EtcdHttpRequestsSlow
此警示表示 HTTP 请求速度减慢。 这是一个警告。
EtcdMemberCommunicationSlow
此警示表示 etcd 成员通信速度变慢。 这是一个警告。
EtcdHighNumberOfFailedProposals
此警示表示 etcd 服务器在过去一小时内收到了超过 5 个失败的提议。 这是一个警告。
EtcdHighFsyncDurations
此警示表示 etcd WAL fsync 持续时间正在增加。 这是一个警告。
EtcdHighCommitDurations
此警示表示 etcd 提交持续时间正在增加。 这是一个警告。
kube-api
KubernetesApiServerErrors
此警示表示 Kubernetes API 服务器的错误率很高。 此问题可能会导致其他故障,因此建议您主动调查此问题。
使用kubectl logs <pod-name> -n kube-system命令检查api-server Pod 的日志,以找出问题的根本原因。
- k8s. rules、kube-apiserver-availability. rules、kube-apiserver-slos
- KubeAPIErrorBudgetBurn
- kube-state-metrics
- KubeStateMetricsListErrors, KubeStateMetricsWatchErrors
- KubernetesMemoryPressure
- kubernetes-apps
- KubePodCrashLooping
- KubePodNotReady
- KubeDeploymentGenerationMismatch, KubeStatefulSetGenerationMismatch
- KubeDeploymentReplicasMismatch, KubeStatefulSetReplicasMismatch
- KubeStatefulSetUpdateNotRolledOut
- KubeDaemonSetRolloutStuck
- KubeContainerWaiting
- KubeDaemonSetNotScheduled, KubeDaemonSetMisScheduled
- KubeJobCompletion
- KubeJobFailed
- Kube 作业未完成
- 监控 OOM 警示
- 已终止 KubeContainerOOM
- 容器内存使用上限
- KubeHpaReplicasMismatch
- KubeHpaMaxedOut
- kubernetes-resources
- KubeCPUOvercommit, KubeMemoryOvercommit
- KubeCPUQuotaOvercommit, KubeMemoryQuotaOvercommit, KubeQuotaAlmostFull, KubeQuotaFullyUsed, KubeQuotaExceeded
- AggregatedAPIErrors, AggregatedAPIDown, KubeAPIDown, KubeAPITerminatedRequests
- kubernetes-system-kubelet
- KubeNodeNotReady, KubeNodeUnreachable, KubeNodeReadinessFlapping, KubeletPlegDurationHigh, KubeletPodStartUpLatencyHigh, KubeletDown
- KubeletTooManyPods
- kubernetes-system
- KubeVersionMismatch
- KubeClientErrors
- etdc 警示
- EtcdInsufficientMembers
- EtcdNoLeader
- EtcdHighNumberOfLeaderChanges
- EtcdHighNumberOfFailedGrpcRequests
- EtcdGrpcRequestsSlow
- EtcdHighNumberOfFailedHttpRequests
- EtcdHttpRequestsSlow
- EtcdMemberCommunicationSlow
- EtcdHighNumberOfFailedProposals
- EtcdHighFsyncDurations
- EtcdHighCommitDurations
- kube-api
- KubernetesApiServerErrors