automation-suite
2.2510
true
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。
UiPath logo, featuring letters U and I in white

EKS/AKS 上的 Automation Suite 安装指南

上次更新日期 2025年11月13日

Configuring input.json

input.json 文件允许您配置要部署的 UiPath™ 产品、应用于所选产品的参数、设置和首选项,以及云基础架构的设置。您必须更新此文件以更改默认值,并为集群使用任何高级配置。
备注:

有些产品可能具有依赖项。有关详细信息,请参阅Automation Suite 产品

要编辑 input.json,您可以在客户端计算机上使用自己喜欢的文本编辑器。
下表描述了必须更新以正确配置 Automation Suite 的主要input.json参数。 有关配置示例,请参阅AKS input.json 示例EKS input.json 示例

常规参数

描述

kubernetes_distribution

指定您使用的 Kubernetes 发行版。可以是 akseks

install_type

确定是以在线模式还是离线模式部署集群。如果未指定,则集群将以在线模式部署。要在离线模式下部署集群,您必须将 install_type 参数的值显式设置为 offline
可能的值:onlineoffline
默认值: online

registries

用于为 UiPath™ 产品和 Automation Suite 拉取 Docker 映像和 Helm 图表的 URL。

registry.uipath.com

istioMinProtocolVersion

Istio 接受用于安全通信的最低 TLS 协议版本。 可以设置为TLSV1_2TLSV1_3

fqdn

Automation Suite 的负载均衡器端点

admin_username

您要设置为主机组织管理员的用户名。

admin_password

要设置的主机管理员密码。

profile

设置安装的配置文件。可用的配置文件包括:

  • lite :精简模式配置文件。
  • ha:多节点 HA 就绪生产配置文件。

有关管理配置文件的更多详细信息,请参阅配置文件配置

networkEnables IPv4/IPv6 operation for the cluster networking stack used by Automation Suite. For details, refer to Networking.

telemetry_optout

truefalse - 用于选择不将遥测数据发送回 UiPath™。默认情况下,它设置为 false
如果要选择退出,请设置为 true

fips_enabled_nodes

指示是否要在计划安装 Automation Suite 的节点上启用 FIPS 140-2。 可能的值为truefalse
storage_class

指定用于 PV 配置的存储类。 此存储类必须支持多个副本,以实现最佳高可用性,并拥有备份功能。

有关更多信息,请参阅“块存储”部分。

storage_class_single_replica

提供用于 PV 配置的存储类。 对于不需要高可用性的组件,此存储类可以具有单个副本。 该存储类不能具有备份功能。

有关更多信息,请参阅文件存储一节。

storage_class_single_replica值可以与storage_class值相同。
storage_class_name_with_rwx_supportSpecifies the StorageClass that supports ReadWriteMany (RWX) access mode. This field ensures that components requiring shared persistent volumes use the correct RWX-enabled storage.
Important: This field cannot be empty if Studio Web or ECS is enabled. If left empty, an error is thrown during validation.

For fresh installations, provide a StorageClass name with RWX (ReadWriteMany) support.

For upgrades from versions prior to 2.2510.0 using Studio Web, use the same storage class name as specified in storage_class_single_replica, ensuring it supports RWX access mode.
exclude_components

使用此参数可防止安装非必要组件。

有关详细信息,请参阅使用自己的组件

namespace

指定要安装 Automation Suite 的命名空间。

有关详细信息,请参阅自定义命名空间配置

argocd.application_namespace

计划安装的应用程序的命名空间。 理想情况下,这应与计划安装 Automation Suite 的命名空间相同。

argocd.project

部署 Automation Suite 所需的 ArgoCD 项目。 仅当您要使用共享或全局 ArgoCD 实例而不是专用的 ArgoCD 实例时,这才是必需的。

配置文件配置

安装 Automation Suite 时,您可以选择以下配置文件模式:

  • 可配置的高可用性配置文件(精简模式)

  • 标准高可用性配置文件(HA 模式)

仅在精简模式下,您才能将特定产品切换到高可用性 (HA)。 这种灵活性使您可以从非关键工作负载开始,并可以在加入关键工作负载时轻松地切换到 HA 模式。

要为产品启用高可用性 (HA),您必须修改input.json文件。 具体来说,您必须将要具有高可用性的产品的profile参数更改为ha
....
  "automation_ops": {
    "enabled": true,
    "profile": "ha" // flag for turning on high availability
  },
  "action_center": {
    "enabled": true,
    "profile": "lite"
  },
  ...  ....
  "automation_ops": {
    "enabled": true,
    "profile": "ha" // flag for turning on high availability
  },
  "action_center": {
    "enabled": true,
    "profile": "lite"
  },
  ...

要将其从精简模式切换到 HA 模式,请执行以下步骤:

  1. 确保您有足够的基础架构功能来在平台级别切换到标准 HA。 默认情况下,精简模式将每个产品设置为具有一个已启用水平 Pod 缩放的副本。
  2. 编辑input.json配置文件,并更改目标产品的profile参数。
  3. 要应用更改,请运行以下命令:
    uipathctl manifest apply uipathctl manifest apply

UiPath™ 产品

您可以在安装时和安装后的任何时间启用和禁用 Automation Suite 中的产品。 有关每个产品配置的更多详细信息,请参阅 管理产品

备注:

Depending on your product selection, some configurations might not be available. For example, Insights does not currently support Microsoft Entra ID (formerly Azure Active Directory) authentication configuration for access to SQL, storage, and other resources that support Microsoft Entra.

Orchestrator 示例:

"orchestrator": {
  "enabled": true,
  "external_object_storage": {
    "bucket_name": "uipath-as-orchestrator"
  },
  "testautomation": {
    "enabled": true
  },
  "updateserver": {
    "enabled": true
  }"orchestrator": {
  "enabled": true,
  "external_object_storage": {
    "bucket_name": "uipath-as-orchestrator"
  },
  "testautomation": {
    "enabled": true
  },
  "updateserver": {
    "enabled": true
  }

自带组件

Automation Suite 允许您使用自己的 Gatekeeper 和 OPA 策略、Cert Manager、Istio、监控、日志记录组件等。如果您选择排除这些组件,请在安装 Automation Suite 之前确保它们在集群中可用。

以下示例显示了已排除组件的列表。您可以删除要让 Automation Suite 配置的组件。

"exclude_components": [
        "alerts",
        "auth",
        "istio",
        "cert-manager",
        "logging",
        "monitoring",
        "gatekeeper",
        "network-policies",
        "velero",
	"external-secrets"
  ]   "exclude_components": [
        "alerts",
        "auth",
        "istio",
        "cert-manager",
        "logging",
        "monitoring",
        "gatekeeper",
        "network-policies",
        "velero",
	"external-secrets"
  ] 

排除 Istio

如果您自带 Istio 组件,请确保在input.json文件中包含 Istio 网关中的gateway_selector标签。有关更多详细信息,请参阅AKS input.json 示例EKS input.json 示例

要查找网关选取器标签,请执行以下步骤:

  1. 通过运行 kubectl get pods -n <istio-system> 命令列出 <istio-system> 命名空间中的所有 Pod。
  2. 查找适用于您的 Istio 网关部署的网关。

注意:如果您计划自行安装 WASM 插件,并且希望避免为 Automation Suite 安装程序提供对<istio-system>命名空间的写入权限,则必须将istio-configure组件添加到exclude_components列表中。

不包括证书管理器

如果您选择使用自己的证书管理器,并且 TLS 证书由私有或非公共 CA 颁发,则必须手动将叶证书和中间 CA 证书包含在 TLS 证书文件中。如果是公共 CA,客户端系统将自动信任它们,您无需采取进一步的措施。

证书配置

如果安装时未提供证书,则安装程序将创建自行颁发的证书并在集群中对这些证书进行配置。

备注:

只有在安装期间授予 Automation Suite 安装程序管理员权限时,才能在安装时创建证书。 如果您无法向安装程序授予管理员权限,则必须自行创建和管理证书。

有关如何获取证书的详细信息,请参阅管理证书

备注:
请务必指定证书文件的绝对路径。 运行pwd以获取放置文件目录的路径,并将证书文件名附加到input.json中。

参数

描述

server_certificate.ca_cert_file

证书颁发机构证书的绝对路径。此证书颁发机构是对 TLS 证书进行签名的机构。CA 捆绑包必须仅包含用于对 TLS 证书进行签名的链证书。链式证书上限为九个证书。

如果您使用的是自签名证书,则需要指定先前创建的 rootCA.crt 的路径。如果要安装程序生成该路径,请留空。

server_certificate.tls_cert_file

TLS 证书的绝对路径(server.crt 是自签名证书)。如果要安装程序生成该路径,请留空。
注意:如果您自己提供证书,则server.crt文件必须包含整个链,如以下示例所示:
-----server cert-----
-----root ca chain----------server cert-----
-----root ca chain-----

server_certificate.tls_key_file

证书密钥的绝对路径(server.key 是自签名证书)。如果要安装程序生成该路径,请留空。

identity_certificate.token_signing_cert_file

用于对令牌进行签名的身份令牌签名证书的绝对路径(identity.pfx 是自签名证书)。如果您希望安装程序使用服务器证书生成身份证书,请留空。

identity_certificate.token_signing_cert_pass

导出身份令牌签名证书时设置的纯文本密码。

additional_ca_certs

包含其他 CA 证书的文件的绝对路径,作为 Automation Suite 的一部分运行的所有服务均会信任这些证书。文件中的所有证书均必须为有效的 PEM 格式。

例如,如果证书不是由公共证书颁发机构颁发,则需要提供包含 SQL Server CA 证书的文件。

基础架构先决条件

您必须提供在 Azure 或 AWS 上配置的先决条件的配置详细信息。 有关 input.json 参数要求,请参阅以下先决条件部分:

外部对象存储配置

常规配置

Automation Suite 允许您使用自己的外部存储提供程序。您可以从以下存储提供程序中进行选择:

  • Azure
  • AWS
  • 兼容 S3

您可以通过以下方式之一配置外部对象存储:

  • 在安装过程中;
  • 安装后,使用input.json文件。
备注:
  • 为了使 Automation Suite 在使用预签名 URL 时正常运行,您必须确保可从 Automation Suite 集群、浏览器和所有计算机(包括工作站和机器人计算机)访问外部对象存储。
  • 只能在 2014 年 1 月 30 日之后创建的任何区域中部署的 Automation Suite 存储桶上启用使用密钥管理服务 (SSE-KMS) 的服务器端加密。

    SSE-KMS 功能需要纯 SignV4 API。由于与 SignV2 向后兼容,2014 年 1 月 30 日之前创建的区域不使用纯 SignV4 API。因此,SSE-KMS 仅在使用 SignV4 进行通信的区域中起作用。要了解配置各个区域的时间,请参阅 AWS 文档

如果使用私有端点访问容器,则必须在input.json文件中添加fqdn参数,并将私有端点指定为值。
下表列出了可用于配置每个外部对象存储提供程序的input.json参数:

参数

Azure

AWS

兼容 S3

描述

external_object_storage.enabled

available

available

available

指定是否要使用自己的对象存储。可能的值:truefalse

external_object_storage.create_bucket

available

available

available

指定是否要配置存储桶。可能的值:truefalse

external_object_storage.storage_type

available

available

available

指定要配置的存储提供程序。该值区分大小写。 可能的值:azures3
注意:许多 S3 对象存储要求将 CORS 设置为来自 Automation Suite 集群的所有流量。您必须在对象存储级别配置 CORS 策略,以允许使用集群的 FQDN。

external_object_storage.fqdn

不可用

available

available

指定 S3 服务器的 FQDN。对于 AWS 实例和非实例配置文件为必需。

external_object_storage.port

不可用

available

available

指定 S3 端口。对于 AWS 实例和非实例配置文件为必需。

external_object_storage.region

不可用

available

available

指定托管存储桶的 AWS 区域。对于 AWS 实例和非实例配置文件为必需。

external_object_storage.access_key

不可用

available

available

指定 S3 帐户的访问密钥。 仅在 AWS 非实例配置文件的情况下才需要。

external_object_storage.secret_key

不可用

available

available

指定 S3 帐户的密钥。 仅在 AWS 非实例配置文件的情况下才需要。

external_object_storage.use_instance_profile

不可用

available

available

指定是否要使用实例配置文件。AWS 身份和访问管理 (IAM) 实例配置文件可为在 Amazon Elastic Compute Cloud (EC2) 实例上运行的应用程序或服务授予对 AWS 资源的安全访问权限。如果您选择 AWS S3,则实例配置文件允许 EC2 实例与 S3 存储桶交互,而无需将显式 AWS 凭据(例如访问密钥)存储在实例上。

external_object_storage.bucket_name_prefix 1

不可用

available

available

指定存储桶名称的前缀。对于 AWS 非实例配置文件为可选。

external_object_storage.bucket_name_suffix 2

不可用

available

available

指定存储桶名称的后缀。对于 AWS 非实例配置文件为可选。

external_object_storage.account_key

available

不可用

不可用

指定 Azure 帐户密钥。

external_object_storage.account_name

available

不可用

不可用

指定 Azure 帐户名称。

external_object_storage.azure_fqdn_suffix

available

不可用

不可用

指定 Azure FQDN 后缀。 可选参数。

1如果您计划禁用预签名 URL 访问,请注意,以下从对象存储上传或检索数据的活动不支持此配置:

2,3配置外部对象存储时,您必须遵循提供程序为 bucket_name_prefixbucket_name_suffix 提供的命名规则和约定。除此之外,后缀和前缀的总长度不得超过 25 个字符,并且您不得以连字符 (-) 作为前缀结尾或后缀开头,因为我们已经为您自动添加了字符。

为确保与 Automation Suite 进行安全且兼容的通信,兼容 S3 的对象存储必须支持以下一个或多个安全 TLS 密码套件:

  • TLS 1.3:
    • TLS_AES_128_GCM_SHA256
    • TLS_AES_256_GCM_SHA384
    • TLS_CHACHA20_POLY1305_SHA256
  • TLS 1.2:
    • TLS_ECDHE_ECDSA_WITH_AES_128_Cube_SHA
    • TLS_ECDHE_ECDSA_WITH_AES_256_Cube_SHA
    • TLS_ECDHE_RSA_WITH_AES_128_Cube_SHA
    • TLS_ECDHE_RSA_WITH_AES_256_Cube_SHA
    • TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    • TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    • TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
    • TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
注意:受支持的密码套件列表可能会随着时间的推移而不断变化,以与 Go 密码库中的安全最佳实践和更新保持一致。有关当前列表,请参阅最新的 Go 文档

特定于产品的配置

您可以使用“常规配置”部分中描述的参数来更新 Automation Suite 的常规配置。这意味着所有已安装的产品将共享相同的配置。如果要以不同方式配置一个或多个产品,可以覆盖常规配置。您只需指定要以不同方式设置外部对象存储的产品,并使用相同的参数来定义配置。请注意,所有其他已安装的产品将继续继承常规配置。

以下示例显示了如何覆盖 Orchestrator 的常规配置:

"external_object_storage": {
  "enabled": false, // <true/false>
  "create_bucket": true, // <true/false>
  "storage_type": "s3", // <s3,azure,aws>
  "fqdn": "",  // <needed in the case of aws instance and non-instance profile>
  "port": 443, // <needed in the case of aws instance and non-instance profile>
  "region": "", 
  "access_key": "", // <needed in the case of aws non instance profile>
  "secret_key": "", // <needed in the case of aws non instance profile>
  "bucket_name_prefix": "",
  "bucket_name_suffix": "",
  "account_key": "",
  "account_name": "",
  "azure_fqdn_suffix": "core.windows.net",
},

"orchestrator": {
  "external_object_storage": {
    "enabled": false, // <true/false>
    "create_bucket": true, // <true/false>
    "storage_type": "s3", // <s3,azure>
    "fqdn": "",  // <needed in the case of aws instance and non-instance profile>
    "port": 443, // <needed in the case of aws instance and non-instance profile>
    "region": "", 
    "access_key": "", // <needed in case of aws non instance profile>
    "secret_key": "", // <needed in case of aws non instance profile>
    "bucket_name_prefix": "",
    "bucket_name_suffix": "",
    "account_key": "",
    "account_name": "",
    "azure_fqdn_suffix": "core.windows.net",
  }
}"external_object_storage": {
  "enabled": false, // <true/false>
  "create_bucket": true, // <true/false>
  "storage_type": "s3", // <s3,azure,aws>
  "fqdn": "",  // <needed in the case of aws instance and non-instance profile>
  "port": 443, // <needed in the case of aws instance and non-instance profile>
  "region": "", 
  "access_key": "", // <needed in the case of aws non instance profile>
  "secret_key": "", // <needed in the case of aws non instance profile>
  "bucket_name_prefix": "",
  "bucket_name_suffix": "",
  "account_key": "",
  "account_name": "",
  "azure_fqdn_suffix": "core.windows.net",
},

"orchestrator": {
  "external_object_storage": {
    "enabled": false, // <true/false>
    "create_bucket": true, // <true/false>
    "storage_type": "s3", // <s3,azure>
    "fqdn": "",  // <needed in the case of aws instance and non-instance profile>
    "port": 443, // <needed in the case of aws instance and non-instance profile>
    "region": "", 
    "access_key": "", // <needed in case of aws non instance profile>
    "secret_key": "", // <needed in case of aws non instance profile>
    "bucket_name_prefix": "",
    "bucket_name_suffix": "",
    "account_key": "",
    "account_name": "",
    "azure_fqdn_suffix": "core.windows.net",
  }
}

轮换 Process Mining 的 Blob 存储凭据

要轮换 Automation Suite 中 Process Mining 的 Blob 存储凭据,必须使用新凭据更新存储的密码。请参阅轮换 Blob 存储凭据

预签名 URL 配置

您可以使用 disable_presigned_url 标志来指定是否要在全局级别禁用预签名 URL 访问。默认情况下,为整个平台启用预签名 URL。可能的值为 truefalse
{
  "disable_presigned_url" : true
}{
  "disable_presigned_url" : true
}
备注:
  • 您只能为新安装更改此参数的默认值。该操作无法撤销,也不适用于现有集群。

  • 您只能将此配置应用于整个平台,无法在产品级别覆盖全局配置。

符合 OCI 的外部注册表配置

要配置符合 OCI 的外部注册表,请更新input.json文件中的以下参数:

registries.docker.url

默认值: registry.uipath.com

Automation Suite 用于托管容器映像的注册表的 URL 或 FQDN。

registries.docker.username

registries.docker.password

用于从注册表中拉取 Docker 映像的身份验证信息。

如果在输入文件中找到其中一个值,则在配置外部注册表时必须同时提供这两个值。

registries.docker.pull_secret_value

注册表拉取密码。

此字段是可选的。

registries.helm.url

默认值: registry.uipath.com

Automation Suite 用于托管服务的 Helm 图表的注册表 URL 或 FQDN。

registries.helm.username

registries.helm.password

用于从注册表中拉取 Helm 图表的身份验证信息。

如果在输入文件中找到其中一个值,则在配置外部注册表时必须同时提供这两个值。

registry_ca_cert

与为注册表配置的证书相对应的 CA 文件的位置。

如果注册表由您内部托管的私有证书颁发机构签名,则您必须提供该注册表项以建立信任。

registry.pull_secret_name

The name of the Kubernetes Secret that stores the registry credentials.

Use this parameter to reference an existing Secret that contains the authentication information for the registry.

Note: You can use different methods to generate the encoded version of the pull_secret_value, including the one using Docker. For details, see .

The following configuration sample shows a Kubernetes Secret definition used to store registry credentials:

apiVersion: v1
kind: Secret
metadata:
  name: registry-credentials
data:
  url: base64Encode(sfbrdevhelmweacr.azurecr.io)
  username: base64Encode(registry-username)
  password: base64Encode(registry-password)apiVersion: v1
kind: Secret
metadata:
  name: registry-credentials
data:
  url: base64Encode(sfbrdevhelmweacr.azurecr.io)
  username: base64Encode(registry-username)
  password: base64Encode(registry-password)

以下配置示例显示了典型的符合 OCI 的注册表设置:

{
    "registries": {
        "docker": {
            "url": "registry.domain.io",
            "username": "username",
            "password": "password", 
            "pull_secret_value": "pull-secret-value"
        },
        "helm": {
            "url": "registry.domain.io",
            "username": "username",
            "password": "password"
        },
        "trust": {
            "enabled": true,
            "public_key": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFNE4vSzNzK2VXUTJHU3NnTTJNcUhsdEplVHlqRQp1UC9sd0dNTnNNUjhUZTI2Ui9TTlVqSVpIdnJKcEx3YmpDc0ZlZUI3L0xZaFFsQzlRdUU1WFhITDZ3PT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",
            "detection_mode": false
        }
    },
    "registry_ca_cert": "/etc/pki/ca-trust/extracted/ca-bundle.trust.crt"
}{
    "registries": {
        "docker": {
            "url": "registry.domain.io",
            "username": "username",
            "password": "password", 
            "pull_secret_value": "pull-secret-value"
        },
        "helm": {
            "url": "registry.domain.io",
            "username": "username",
            "password": "password"
        },
        "trust": {
            "enabled": true,
            "public_key": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFNE4vSzNzK2VXUTJHU3NnTTJNcUhsdEplVHlqRQp1UC9sd0dNTnNNUjhUZTI2Ui9TTlVqSVpIdnJKcEx3YmpDc0ZlZUI3L0xZaFFsQzlRdUU1WFhITDZ3PT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",
            "detection_mode": false
        }
    },
    "registry_ca_cert": "/etc/pki/ca-trust/extracted/ca-bundle.trust.crt"
}
Note: For registries such as Harbor, which require using a project, you must append the project name to the registry URL. The requirement applies to the registries.docker.url and registries.helm.url parameters in the input.json file, as shown in the following example:
{
  "registries": {
    "docker": {
      "url": "registry.domain.io/myproject",
      "username": "username",
      "password": "password"
      "pull_secret_value": "pull-secret-value"
    },
    "helm": {
      "url": "registry.domain.io/myproject",
      "username": "username",
      "password": "password"
    }
    "trust": {  
        "enabled": true,  
        "public_key": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFNE4vSzNzK2VXUTJHU3NnTTJNcUhsdEplVHlqRQp1UC9sd0dNTnNNUjhUZTI2Ui9TTlVqSVpIdnJKcEx3YmpDc0ZlZUI3L0xZaFFsQzlRdUU1WFhITDZ3PT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",  
        "detection_mode": false  
    }
  },
  "registry_ca_cert": "/etc/pki/ca-trust/extracted/ca-bundle.trust.crt"
}{
  "registries": {
    "docker": {
      "url": "registry.domain.io/myproject",
      "username": "username",
      "password": "password"
      "pull_secret_value": "pull-secret-value"
    },
    "helm": {
      "url": "registry.domain.io/myproject",
      "username": "username",
      "password": "password"
    }
    "trust": {  
        "enabled": true,  
        "public_key": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFNE4vSzNzK2VXUTJHU3NnTTJNcUhsdEplVHlqRQp1UC9sd0dNTnNNUjhUZTI2Ui9TTlVqSVpIdnJKcEx3YmpDc0ZlZUI3L0xZaFFsQzlRdUU1WFhITDZ3PT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",  
        "detection_mode": false  
    }
  },
  "registry_ca_cert": "/etc/pki/ca-trust/extracted/ca-bundle.trust.crt"
}

自定义命名空间配置

您可以指定单个自定义命名空间来替换默认的uipathuipath-checkuipath-installer命名空间。 要定义自定义命名空间,请为可选namespace参数提供值。 如果未提供namespace参数的值,则系统会改用默认命名空间。

自定义命名空间标签配置

如果希望 UiPath 命名空间包含自定义命名空间标签,请将以下部分添加到 input.json 文件中。请务必添加您自己的标签。
"namespace_labels": {
		"install-type": "aksoffline",
		"uipathctlversion": "rc-10_0.1",
		"updatedLabel": "rerun"
	}, "namespace_labels": {
		"install-type": "aksoffline",
		"uipathctlversion": "rc-10_0.1",
		"updatedLabel": "rerun"
	},

自定义节点容错配置

如果您需要在计划安装 Automation Suite 的节点上自定义污点和容错,请使用以下标志更新 input.json。确保为 spec 字段提供适当的值。
"tolerations": [
  {
    "spec": {
      "key": "example-key", 
      "operator": "Exists",
      "value": "optional-value",
      "effect": "NoSchedule"
    }
  },
  {
    "spec": {
      "key": "example-key2", 
      "operator": "Exists",
      "value": "optional-value2",
      "effect": "NoSchedule"
    }
  }
]"tolerations": [
  {
    "spec": {
      "key": "example-key", 
      "operator": "Exists",
      "value": "optional-value",
      "effect": "NoSchedule"
    }
  },
  {
    "spec": {
      "key": "example-key2", 
      "operator": "Exists",
      "value": "optional-value2",
      "effect": "NoSchedule"
    }
  }
]

内部负载均衡器配置

您可以在 AKS 和 EKS 安装类型中为部署使用内部负载均衡器。为此,必须在 input.json 文件的 ingress 部分中指定此内容。
AKS internal load balancer configuration field details 字段详细信息:
参数描述
Azure 负载均衡器内部指定负载均衡器是否为内部。
EKS internal load balancer configuration field details 字段详细信息:
  
aws-load-balancer-backend-protocol指定后端协议。
aws-load-balancer-nlb-target-type指定要为 NLB 配置的目标类型。您可以在 instanceip 之间进行选择。
aws-load-balancer-scheme指定 NLB 是面向互联网还是内部。有效值为 internalinternet-facing。如果未指定,则默认为 internal
aws-load-balancer-type指定负载均衡器类型。此控制器会协调这些服务资源,并将此注释设置为 nlbexternal
aws-load-balancer-internal指定 NLB 是面向互联网还是内部。

AKS 示例

"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "true"
    }
  }, "ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "true"
    }
  },

EKS 示例

"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb",
      "service.beta.kubernetes.io/aws-load-balancer-internal": "true"
    }
  },  "ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb",
      "service.beta.kubernetes.io/aws-load-balancer-internal": "true"
    }
  },
有关在 AKS 和 EKS 中创建内部负载均衡器的更多信息,请访问以下链接:

工作负载身份配置

工作负载身份是托管身份的一种变体,如果您在 AKS 上使用 Automation Suite,则可以使用此身份。 工作负载身份通过使 Pod 使用 Kubernetes 身份(例如服务帐户)来帮助您避免管理凭据。 工作负载身份还允许 Kubernetes 应用程序根据批注的服务帐户,使用 Microsoft Entra ID 安全地访问 Azure 资源。

要了解有关工作负载身份的更多信息,请参阅在 AKS - Azure Kubernetes 服务上使用 Microsoft Entra 工作负载 ID

备注:

Insights currently does not support workload identity.

要使用工作负载身份,请执行以下步骤:

  1. 为集群启用工作负载身份和 OIDC 颁发者,检索 OIDC 颁发者 URL,并创建将在工作负载身份中使用的用户分配的托管身份。 要执行这些操作,请按照使用工作负载身份 - Azure Kubernetes 服务部署和配置 AKS 集群中的说明进行操作。
  2. 保存用户分配的托管标识的客户端 ID,并在input.json文件中提供该 ID。
    {
      ...
      "pod_identity" : {
        "enabled": true,
        "aks_managed_identity_client_id":<client-id>,
      }
      ...
    }{
      ...
      "pod_identity" : {
        "enabled": true,
        "aks_managed_identity_client_id":<client-id>,
      }
      ...
    }
  3. 运行以下脚本,该脚本为我们为 Automation Suite 创建的所有服务帐户创建联合凭据:
    #!/bin/bash
    
    # Variables
    RESOURCE_GROUP="<resource-group-name>"
    USER_ASSIGNED_IDENTITY_NAME="<user-assigned-identity-name>"
    AKS_OIDC_ISSUER="<aks-oidc-issuer>"
    AUDIENCE="api://AzureADTokenExchange"
    
    # Helper function to create federated credentials
    create_federated_credentials() {
      local NAMESPACE=$1
      shift
      local SERVICE_ACCOUNTS=("$@")
    
      for SERVICE_ACCOUNT_NAME in "${SERVICE_ACCOUNTS[@]}"; do
        # Generate a unique federated identity credential name
        FEDERATED_IDENTITY_CREDENTIAL_NAME="${NAMESPACE}-${SERVICE_ACCOUNT_NAME}"
    
        echo "Creating federated credential for namespace: ${NAMESPACE}, service account: ${SERVICE_ACCOUNT_NAME}"
    
        # Run the Azure CLI command
        az identity federated-credential create \
          --name "${FEDERATED_IDENTITY_CREDENTIAL_NAME}" \
          --identity-name "${USER_ASSIGNED_IDENTITY_NAME}" \
          --resource-group "${RESOURCE_GROUP}" \
          --issuer "${AKS_OIDC_ISSUER}" \
          --subject "system:serviceaccount:${NAMESPACE}:${SERVICE_ACCOUNT_NAME}" \
          --audience "${AUDIENCE}"
    
        if [ $? -eq 0 ]; then
          echo "Federated credential created successfully for ${NAMESPACE}:${SERVICE_ACCOUNT_NAME}"
        else
          echo "Failed to create federated credential for ${NAMESPACE}:${SERVICE_ACCOUNT_NAME}"
        fi
      done
    }
    
    
    # Call the function for each namespace and its service accounts
    create_federated_credentials "uipath" "default" "asrobots-sa" "dataservice-be-service-account" "dataservice-fe-service-account" "insights-adf" "du-documentmanager-service-account" "services-configure-uipath-ba" "aicenter-jobs" "aicenter-deploy" "ailoadbalancer-service-account" "airflow"
    create_federated_credentials "uipath-check" "default"
    create_federated_credentials "velero" "velero-server"#!/bin/bash
    
    # Variables
    RESOURCE_GROUP="<resource-group-name>"
    USER_ASSIGNED_IDENTITY_NAME="<user-assigned-identity-name>"
    AKS_OIDC_ISSUER="<aks-oidc-issuer>"
    AUDIENCE="api://AzureADTokenExchange"
    
    # Helper function to create federated credentials
    create_federated_credentials() {
      local NAMESPACE=$1
      shift
      local SERVICE_ACCOUNTS=("$@")
    
      for SERVICE_ACCOUNT_NAME in "${SERVICE_ACCOUNTS[@]}"; do
        # Generate a unique federated identity credential name
        FEDERATED_IDENTITY_CREDENTIAL_NAME="${NAMESPACE}-${SERVICE_ACCOUNT_NAME}"
    
        echo "Creating federated credential for namespace: ${NAMESPACE}, service account: ${SERVICE_ACCOUNT_NAME}"
    
        # Run the Azure CLI command
        az identity federated-credential create \
          --name "${FEDERATED_IDENTITY_CREDENTIAL_NAME}" \
          --identity-name "${USER_ASSIGNED_IDENTITY_NAME}" \
          --resource-group "${RESOURCE_GROUP}" \
          --issuer "${AKS_OIDC_ISSUER}" \
          --subject "system:serviceaccount:${NAMESPACE}:${SERVICE_ACCOUNT_NAME}" \
          --audience "${AUDIENCE}"
    
        if [ $? -eq 0 ]; then
          echo "Federated credential created successfully for ${NAMESPACE}:${SERVICE_ACCOUNT_NAME}"
        else
          echo "Failed to create federated credential for ${NAMESPACE}:${SERVICE_ACCOUNT_NAME}"
        fi
      done
    }
    
    
    # Call the function for each namespace and its service accounts
    create_federated_credentials "uipath" "default" "asrobots-sa" "dataservice-be-service-account" "dataservice-fe-service-account" "insights-adf" "du-documentmanager-service-account" "services-configure-uipath-ba" "aicenter-jobs" "aicenter-deploy" "ailoadbalancer-service-account" "airflow"
    create_federated_credentials "uipath-check" "default"
    create_federated_credentials "velero" "velero-server"

To use workload identity with SQL, refer toWorkload identity-based access to SQL from AKS.

To use workload identity with your storage account, refer to Workload identity-based access to your storage account from AKS.

To use workload identity with Azure Key Vault, refer to Using Workload Identity authentication.

特定于 Orchestrator 的配置

Orchestrator 可以将机器人日志保存到 Elasticsearch 服务器。您可以在 orchestrator.orchestrator_robot_logs_elastic 部分中配置此功能。如果未提供,则系统会将机器人日志保存到 Orchestrator 的数据库中。
下表列出了 orchestrator.orchestrator_robot_logs_elastic 参数:

参数

描述

orchestrator_robot_logs_elastic

Elasticsearch 配置。

elastic_uri

应使用的 Elasticsearch 实例的地址。应以 URI 的形式提供。如已提供,则还需要用户名和密码。

elastic_auth_username

用于身份验证的 Elasticsearch 用户名。

elastic_auth_password

用于身份验证的 Elasticsearch 密码。

Insights 特定配置

如果启用 Insights,则用户可以包含将用于发送计划电子邮件/警示电子邮件的 SMTP 服务器配置。如果未提供,计划电子邮件和警示电子邮件将不起作用。

您可以使用uipathctl命令行工具来应用配置更改。有关更多信息,请查看uipathctl 参考指南
insights.smtp_configuration 字段详细信息:

参数

描述

tls_version

有效值为 TLSv1_2TLSv1_1SSLv23如果不使用 TLS,则完全省略密钥

from_email

警示/计划电子邮件的发件人地址。

host

SMTP 服务器的主机名。

port

SMTP 服务器的端口

username

用于 SMTP 服务器身份验证的用户名。

password

用于 SMTP 服务器身份验证的密码。

enable_realtime_monitoring标记以启用 Insights 实时监控。有效值为 truefalse。默认值为 false

示例

"insights": {
    "enabled": true,
    "enable_realtime_monitoring": true,
    "smtp_configuration": {
      "tls_version": "TLSv1_2",
      "from_email": "test@test.com",
      "host": "smtp.sendgrid.com",
      "port": 587,
      "username": "login",
      "password": "password123"
    }
  }"insights": {
    "enabled": true,
    "enable_realtime_monitoring": true,
    "smtp_configuration": {
      "tls_version": "TLSv1_2",
      "from_email": "test@test.com",
      "host": "smtp.sendgrid.com",
      "port": 587,
      "username": "login",
      "password": "password123"
    }
  }

Process Mining 特定配置

如果启用 Process Mining,我们建议用户指定一个辅助 SQL Server,作为独立于主 Automation Suite SQL Server 的数据仓库。数据仓库 SQL Server 将处于高负载状态,可以在 processmining 部分中进行配置:

参数

描述

sql_connection_str

数据库设置为占位符的 DotNet 格式连接字符串: Initial Catalog=DB_NAME_PLACEHOLDER

airflow.metadata_db_connection_str

Note: This applies to PostgreSQL AutomationSuite Airflow database.
自定义 Airflow 元数据数据库位置的 Sqlalchemy PSYCOPG2 格式连接字符串: PostgreSQL:5432/DB_NAME_PLACEHOLDER

示例:

postgresql+psycopg2://testadmin:<password>@postgres.company.com:5432/DB_NAME_PLACEHOLDER

备注:
您还可以在cluster_config.json的全局级别使用Process Mining部分中的metadata_db_connection_str来为 Airflow 元数据库提供值。在这种情况下, airflow.metadata_db_connection_str是可选的。
"processmining": {
  "enabled": true,
  "app_security_mode": "system_managed",
  "airflow": {
    "metadata_db_connection_str": "postgresql+psycopg2://testadmin:<password>@sfdev8454496-postgresql.postgres.database.azure.com:5432/AutomationSuite_Airflow"
  }
}"processmining": {
  "enabled": true,
  "app_security_mode": "system_managed",
  "airflow": {
    "metadata_db_connection_str": "postgresql+psycopg2://testadmin:<password>@sfdev8454496-postgresql.postgres.database.azure.com:5432/AutomationSuite_Airflow"
  }
}

warehouse.sql_connection_str

到 Process Mining 数据仓库 SQL Server 的 DotNet 格式的 SQL 连接字符串,其中包含 dbname 的占位符:

Initial Catalog=DB_NAME_PLACEHOLDER

warehouse.sqlalchemy_pyodbc_sql_connection_str

使用 dbname 占位符到 processmining 数据仓库 SQL Server 的 Sqlalchemy PYODBC 格式的 SQL 连接字符串:

sqlServer:1433/DB_NAME_PLACEHOLDER

warehouse.master_sql_connection_str

如果安装程序通过 sql.create_db: true 设置创建数据库,则必须为 Processmining 数据仓库 SQL Server 提供 DotNet 格式的主 SQL 连接字符串。连接字符串中的数据库必须设置为 master
AutomationSuite_Airflow的 PostgreSQL 的 Process Mining 连接字符串示例
"processmining": {
    "enabled": true,
    "app_security_mode": "system_managed",
    "airflow": {
      "metadata_db_connection_str": "postgresql+psycopg2://testadmin:<password>@sfdev8454496-postgresql.postgres.database.azure.com:5432/AutomationSuite_Airflow"
    },
    "warehouse": {
      "sql_connection_str": "Server=tcp:kerberossql.autosuitead.local,1433;Initial Catalog=AutomationSuite_Warehouse;Persist Security Info=False;User Id=testadmin;Password='<password>';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
      "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://testadmin:<password>@kerberossql.autosuitead.local:1433/AutomationSuite_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
      "master_sql_connection_str": "Server=tcp:kerberossql.autosuitead.local,1433;Initial Catalog=master;Persist Security Info=False;User Id=testadmin;Password='<password>';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;""processmining": {
    "enabled": true,
    "app_security_mode": "system_managed",
    "airflow": {
      "metadata_db_connection_str": "postgresql+psycopg2://testadmin:<password>@sfdev8454496-postgresql.postgres.database.azure.com:5432/AutomationSuite_Airflow"
    },
    "warehouse": {
      "sql_connection_str": "Server=tcp:kerberossql.autosuitead.local,1433;Initial Catalog=AutomationSuite_Warehouse;Persist Security Info=False;User Id=testadmin;Password='<password>';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
      "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://testadmin:<password>@kerberossql.autosuitead.local:1433/AutomationSuite_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES",
      "master_sql_connection_str": "Server=tcp:kerberossql.autosuitead.local,1433;Initial Catalog=master;Persist Security Info=False;User Id=testadmin;Password='<password>';MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"

备注:
使用 Kerberos 身份验证时,请利用Integrated SecurityTrusted_Connection参数。 通过将Integrated Security设置为true并将Trusted_Connection设置为yes ,即可将当前登录用户的凭据用于连接。 在这种情况下,您无需指定单独的用户名和密码。
注意:

为 Process Mining 数据仓库 SQL Server 配置连接字符串时,应省略 SQL Server 的命名实例。

SQL Server 命名实例不能在同一 TCP 端口上运行。 因此,仅端口号就足以区分实例。

例如,使用 tcp:server,1445 代替 tcp:server\namedinstance,1445
重要提示:
Note that the names for template PYODBC connection string postgresql_connection_string_template_sqlalchemy_pyodbc (for PostgreSQL) and the PYODBC connection string sqlalchemy_pyodbc_sql_connection_str used when you bring your own database are different. Also connection string names are different for the template SQL sql_connection_string_template and sql_connection_str used when you bring your own database.
重要提示:
If you bring your own database and you configured this using the sql_connection_str and sqlalchemy_pyodbc_sql_connection_str or airflow.metadata_db_connection_str connection strings in the processmining section of the input.jsonfile, the template connection strings sql_connection_string_template and postgresql_connection_string_template_sqlalchemy_pyodbc (for PostgreSQL) are ignored if specified.

Automation Suite Robot 特定配置

Automation Suite 机器人可以使用包缓存来优化流程运行,并使其运行得更快。 NuGet 包从文件系统获取,而不是从 Internet/网络下载。 这需要至少 10GB 的额外空间,并且应分配给专用节点的主机文件系统上的文件夹。

要启用包缓存,您需要更新以下input.json参数:

参数

默认值

描述

packagecaching

true

设置为 true 时,机器人使用本地缓存进行包解析。

packagecachefolder

/uipath_asrobots_package_cache

存储包的无服务器代理节点上的磁盘位置。

AI Center 特定配置

本节仅适用于 S3 端点(Azure 存储不需要)。

为使 AI Center 正常运行,您必须在input.json文件中配置aicenter.external_object_storage.portaicenter.external_object_storage.fqdn参数。
注意:即使已配置文件的external_object_storage部分,您也必须在input.json文件的aicenter部分中配置参数。
以下示例显示了 AI Center 的有效input.json配置:
"aicenter": {
  "external_object_storage" {
    "port": 443,
    "fqdn": "s3.us-west-2.amazonaws.com"
  }
},
"external_object_storage": {
  "enabled": true,
  "create_bucket": false,
  "storage_type": "s3", 
  "region": "us-west-2", 
  "use_instance_profile": true
}
..."aicenter": {
  "external_object_storage" {
    "port": 443,
    "fqdn": "s3.us-west-2.amazonaws.com"
  }
},
"external_object_storage": {
  "enabled": true,
  "create_bucket": false,
  "storage_type": "s3", 
  "region": "us-west-2", 
  "use_instance_profile": true
}
...

此页面有帮助吗?

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