- 先决条件检查
- 下载安装包
- uipathctl cluster
- uipathctl 集群维护
- uipathctl cluster maintenance disable
- uipathctl cluster maintenance enable
- uipathctl cluster maintenance is-enabled
- uipathctl cluster migration
- uipathctl cluster migration export
- uipathctl cluster migration import
- uipathctl cluster migration run
- uipathctl 集群升级
- uipathctl 配置
- uipathctl config add-host-admin
- uipathctl config additional-ca-certificates
- uipathctl config additional-ca-certificates get
- uipathctl config additional-ca-certificates update
- uipathctl 配置警示
- uipathctl configalerts add-email
- uipathctl config alerts remove-email
- uipathctl config alerts update-email
- uipathctl config argocd
- uipathctl config argocd ca-certificates
- uipathctl config argocd ca-certificates get
- uipathctl config argocd ca-certificates update
- uipathctl config argocd generate-dex-config
- uipathctl config argocd generate-rbac
- uipathctl config argocd registry
- uipathctl config argocd registry get
- uipathctl config argocd registry update
- uipathctl config enable-basic-auth
- uipathctl config Orchestrator
- uipathctl config Orchestrator get-config
- uipathctl config orchestrator update-config
- uipathctl config saml-certificates get
- uipathctl config saml-certificates rotate
- uipathctl config saml-certificates update
- uipathctl config tls-certificates
- uipathctl config tls-certificates get
- uipathctl config tls-certificates update
- uipathctl config token-signing-certificates
- uipathctl config token-signing-certificates get
- uipathctl config token-signing-certificates rotate
- uipathctl config token-signing-certificates update
- uipathctl 运行状况
- uipathctl 运行状况捆绑包
- uipathctl 运行状况检查
- uipathctl health diagnose
- uipathctl health test
- uipathctl 清单
- uipathctl manifest apply
- uipathctl manifest diff
- uipathctl manifest get
- uipathctl manifest get-revision
- uipathctl manifest list-applications
- uipathctl manifest list-revisions
- uipathctl manifest render
- uipathctl 先决条件
- uipathctl prereq create
- uipathctl prereq run
- uipathctl 资源
- uipathctl 资源报告
- uipathctl 快照
- uipathctl 快照备份
- uipathctl snapshot backup create
- uipathctl snapshot backup disable
- uipathctl snapshot backup enable
- uipathctl snapshot delete
- uipathctl snapshot list
- uipathctl snapshot restore
- uipathctl snapshot restore create
- uipathctl snapshot restore delete
- uipathctl snapshot restore history
- uipathctl snapshot restore logs
- uipathctl 版本
Configuring input.json
input.json
文件允许您配置要部署的 UiPath 产品,应用于所选产品的参数、设置和首选项,以及 Cloud 基础架构的设置。 您必须更新此文件以更改默认值,并为集群使用任何高级配置。
某些产品可能具有依赖项。 有关详细信息,请参阅 跨产品依赖项。
要编辑 input.json
,您可以在客户端计算机上使用自己喜欢的文本编辑器。
常规参数 |
描述 |
---|---|
|
指明您使用的 Kubernetes 发行版。 可以是 |
|
用于拉取 UiPath 产品和 Automation Suite 的 Docker 映像和 Helm 图表的 URL。
|
|
Automation Suite 的负载均衡器端点 |
|
您要设置为主机组织管理员的用户名。 |
|
要设置的主机管理员密码。 |
|
默认值,不可更改
|
|
如果要选择退出,请设置为 |
|
指示是否要在计划在 AKS 上安装 Automation Suite 的节点上启用 FIPS 140-2。可能的值为 |
"kubernetes_distribution": "aks",
"registries": {
"docker": {
"url": "registry.uipath.com"
},
"helm": {
"url": "registry.uipath.com"
}
},
"fqdn": "replace with your fqdn",
"admin_username": "replace with your UiPath admin username",
"admin_password": "replace with your UiPath admin password",
"profile": "ha",
"telemetry_optout": false
"fips_enabled_nodes": true
"kubernetes_distribution": "aks",
"registries": {
"docker": {
"url": "registry.uipath.com"
},
"helm": {
"url": "registry.uipath.com"
}
},
"fqdn": "replace with your fqdn",
"admin_username": "replace with your UiPath admin username",
"admin_password": "replace with your UiPath admin password",
"profile": "ha",
"telemetry_optout": false
"fips_enabled_nodes": true
UiPath 产品
您可以在安装时和安装后的任何时间启用和禁用 Automation Suite 中的产品。 有关每个产品配置的更多详细信息,请参阅 管理产品。
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 之前确保它们在集群中可用。
-
有关可选组件和责任矩阵的列表,请参阅 EKS/AKS 堆栈上的Automation Suite 。
-
请务必查看使用 Automation Suite 验证的版本的 兼容性矩阵 。
以下示例显示了已排除组件的列表。您可以删除要让 Automation Suite 配置的组件。
"exclude_components": [
"alerts",
"auth",
"istio",
"cert-manager",
"logging",
"monitoring",
"gatekeeper",
"network-policies",
"velero",
"sfcore"
]
"exclude_components": [
"alerts",
"auth",
"istio",
"cert-manager",
"logging",
"monitoring",
"gatekeeper",
"network-policies",
"velero",
"sfcore"
]
排除 sfcore
如果排除 sfcore
组件,请确保 input.json
中有由 CA 颁发的公共证书。有关详细信息,请参阅证书配置。
排除 Istio
如果您自带 Istio 组件,请确保在 input.json
文件中包含 Istio 网关中的 gateway_selector
标签。要查找网关选取器标签,请执行以下步骤:
-
通过运行
kubectl get pods -n istio-system
命令列出istio-system
命名空间中的所有 Pod。 -
查找适用于您的 Istio 网关部署的网关。
不包括证书管理器
如果您选择使用自己的证书管理器,并且 TLS 证书由私有或非公共 CA 颁发,则必须手动将叶证书和中间 CA 证书包含在 TLS 证书文件中。如果是公共 CA,客户端系统将自动信任它们,您无需采取进一步的措施。
证书配置
如果安装时未提供证书,则安装程序将创建自行颁发的证书并在集群中对这些证书进行配置。
请务必指定证书文件的绝对路径。运行 pwd
以获取放置文件目录的路径,并将证书文件名附加到 input.json
中。
参数 |
描述 |
---|---|
|
证书颁发机构证书的绝对路径。此证书颁发机构是对 TLS 证书进行签名的机构。CA 捆绑包必须仅包含用于对 TLS 证书进行签名的链证书。链式证书上限为九个证书。 如果您使用的是自签名证书,则需要指定先前创建的 |
|
TLS 证书的绝对路径( |
|
证书密钥的绝对路径( |
|
用于对令牌进行签名的身份令牌签名证书的绝对路径( |
|
导出身份令牌签名证书时设置的纯文本密码。 |
|
包含其他 CA 证书的文件的绝对路径,作为 Automation Suite 的一部分运行的所有服务均会信任这些证书。文件中的所有证书均必须为有效的 例如,如果证书不是由公共证书颁发机构颁发,则需要提供包含 SQL Server CA 证书的文件。 |
基础架构先决条件
外部对象存储配置
常规配置
Automation Suite 允许您使用自己的外部存储提供程序。您可以从以下存储提供程序中进行选择:
- Azure
- AWS
- 兼容 S3
您可以通过以下方式之一配置外部对象存储:
- 在安装过程中;
- 安装后,使用
input.json
文件。
下表列出了可用于配置每个外部对象存储提供程序的 input.json
参数:
参数 |
Azure |
AWS |
兼容 S3 |
描述 |
---|---|---|---|---|
|
|
|
|
指定是否要使用自己的对象存储。可能的值: |
|
|
|
|
指定是否要配置存储桶。可能的值: |
|
|
|
|
指定要配置的存储提供程序。该值区分大小写。 可能的值: 注意:许多 S3 对象存储要求将 CORS 设置为来自 Automation Suite 集群的所有流量。您必须在对象存储级别配置 CORS 策略,以允许使用集群的 FQDN。
|
|
|
|
|
指定 S3 服务器的 FQDN。仅在 AWS 非实例配置文件的情况下才需要。 |
|
|
|
|
指定 S3 端口。仅在 AWS 非实例配置文件的情况下才需要。 |
|
|
|
|
指定托管存储桶的 AWS 区域。仅在 AWS 非实例配置文件的情况下才需要。 |
|
|
|
|
指定 S3 帐户的访问密钥。 仅在 AWS 非实例配置文件的情况下才需要。 |
|
|
|
|
指定 S3 帐户的密钥。 仅在 AWS 非实例配置文件的情况下才需要。 |
|
|
|
|
将托管标识与 Azure 存储帐户结合使用。可能的值: |
|
|
|
|
指定存储桶名称的前缀。对于 AWS 非实例配置文件为可选。 |
|
|
|
|
指定存储桶名称的后缀。对于 AWS 非实例配置文件为可选。 |
|
|
|
|
指定 Azure 帐户密钥。仅在使用非托管标识时才需要。 |
|
|
|
|
指定 Azure 帐户名称。 |
|
|
|
|
指定 Azure FQDN 后缀。 可选参数。 |
|
|
|
|
指定 Azure 客户端 ID。仅在使用托管标识时才需要。 |
1 如果您计划禁用预签名 URL 访问,请注意,Task Mining 以及以下从对象存储上传或检索数据的活动不支持此配置:
2,3配置外部对象存储时,您必须遵循提供程序为 bucket_name_prefix
和 bucket_name_suffix
提供的命名规则和约定。除此之外,后缀和前缀的总长度不得超过 25 个字符,并且您不得以连字符 (-
) 作为前缀结尾或后缀开头,因为我们已经为您自动添加了字符。
特定于产品的配置
您可以使用本部分中描述的参数来更新 Automation Suite 的常规配置。这意味着所有已安装的产品将共享相同的配置。如果要以不同方式配置一个或多个产品,可以覆盖常规配置。您只需指定要以不同方式设置外部对象存储的产品,并使用相同的参数来定义配置。请注意,所有其他已安装的产品将继续继承常规配置。
以下示例显示了如何覆盖 Orchestrator 的常规配置:
"external_object_storage": {
"enabled": false, // <true/false>
"create_bucket": true, // <true/false>
"storage_type": "s3", // <s3,azure,aws>
"fqdn": "", // <needed in case of aws non instance profile>
"port": 443, // <needed in case of aws non instance profile>
"region": "",
"access_key": "", // <needed in case of aws non instance profile>
"secret_key": "", // <needed in case of aws non instance profile>
"use_managed_identity": false, // <true/false>
"bucket_name_prefix": "",
"bucket_name_suffix": "",
"account_key": "", // <needed only when using non managed identity>
"account_name": "",
"azure_fqdn_suffix": "core.windows.net",
"client_id": "" // <optional field in case of managed identity>
},
"orchestrator": {
"external_object_storage": {
"enabled": false, // <true/false>
"create_bucket": true, // <true/false>
"storage_type": "s3", // <s3,azure>
"fqdn": "", // <needed in case of aws non instance profile>
"port": 443, // <needed in case of aws non instance profile>
"region": "",
"access_key": "", // <needed in case of aws non instance profile>
"secret_key": "", // <needed in case of aws non instance profile>
"use_managed_identity": false, // <true/false>
"bucket_name_prefix": "",
"bucket_name_suffix": "",
"account_key": "", // <needed only when using non managed identity>
"account_name": "",
"azure_fqdn_suffix": "core.windows.net",
"client_id": "" // <optional field in case of managed identity>
}
}
"external_object_storage": {
"enabled": false, // <true/false>
"create_bucket": true, // <true/false>
"storage_type": "s3", // <s3,azure,aws>
"fqdn": "", // <needed in case of aws non instance profile>
"port": 443, // <needed in case of aws non instance profile>
"region": "",
"access_key": "", // <needed in case of aws non instance profile>
"secret_key": "", // <needed in case of aws non instance profile>
"use_managed_identity": false, // <true/false>
"bucket_name_prefix": "",
"bucket_name_suffix": "",
"account_key": "", // <needed only when using non managed identity>
"account_name": "",
"azure_fqdn_suffix": "core.windows.net",
"client_id": "" // <optional field in case of managed identity>
},
"orchestrator": {
"external_object_storage": {
"enabled": false, // <true/false>
"create_bucket": true, // <true/false>
"storage_type": "s3", // <s3,azure>
"fqdn": "", // <needed in case of aws non instance profile>
"port": 443, // <needed in case of aws non instance profile>
"region": "",
"access_key": "", // <needed in case of aws non instance profile>
"secret_key": "", // <needed in case of aws non instance profile>
"use_managed_identity": false, // <true/false>
"bucket_name_prefix": "",
"bucket_name_suffix": "",
"account_key": "", // <needed only when using non managed identity>
"account_name": "",
"azure_fqdn_suffix": "core.windows.net",
"client_id": "" // <optional field in case of managed identity>
}
}
轮换 Process Mining 的 Blob 存储凭据
要轮换 Automation Suite 中 Process Mining 的 Blob 存储凭据,必须使用新凭据更新存储的密码。请参阅 。
预签名 URL 配置
您可以使用 disable_presigned_url
标志来指定是否要在全局级别禁用预签名 URL 访问。默认情况下,为整个平台启用预签名 URL。可能的值为 true
和 false
。
{
"disable_presigned_url" : true
}
{
"disable_presigned_url" : true
}
-
您只能为新安装更改此参数的默认值。该操作无法撤销,也不适用于现有集群。
-
您只能将此配置应用于整个平台,无法在产品级别覆盖全局配置。
符合 OCI 的外部注册表配置
要配置符合 OCI 的外部注册表,请更新 input.json 文件中的以下参数:
多个键 |
值 |
---|---|
|
默认值: Automation Suite 用于托管容器映像的注册表的 URL 或 FQDN。 |
|
用于从注册表中拉取 Docker 映像的身份验证信息。 如果在输入文件中找到其中一个值,则在配置外部注册表时必须同时提供这两个值。 |
|
默认值: Automation Suite 用于托管服务的 Helm 图表的注册表 URL 或 FQDN。 |
|
用于从注册表中拉取 Helm 图表的身份验证信息。 如果在输入文件中找到其中一个值,则在配置外部注册表时必须同时提供这两个值。 |
|
启用或禁用 Connaisseur。可能的值: |
|
用于验证图像签名的 Base64 编码格式公钥。默认情况下,它设置为用于对 Azure 凭据注册表中的图像进行签名的私钥的公开部分。 |
|
如果启用,Connaiseur 仅在无法验证映像时才会发出警告。它不会阻止创建/更新请求。可能的值: |
registry_ca_cert |
与为注册表配置的证书相对应的 CA 文件的位置。 如果注册表由您内部托管的私有证书颁发机构签名,则您必须提供该注册表项以建立信任。 |
配置示例:
{
"registries": {
"docker": {
"url": "registry.domain.io",
"username": "username",
"password": "password",
},
"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",
},
"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"
}
自定义命名空间标签配置
如果希望 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"
}
}
]
特定于 Orchestrator 的配置
Orchestrator 可以将机器人日志保存到 Elasticsearch 服务器。您可以在 orchestrator.orchestrator_robot_logs_elastic
部分中配置此功能。如果未提供,则系统会将机器人日志保存到 Orchestrator 的数据库中。
下表列出了 orchestrator.orchestrator_robot_logs_elastic
参数:
参数 |
描述 |
---|---|
orchestrator_robot_logs_elastic |
Elasticsearch 配置。 |
|
应使用的 Elasticsearch 实例的地址。应以 URI 的形式提供。如已提供,则还需要用户名和密码。 |
|
用于身份验证的 Elasticsearch 用户名。 |
|
用于身份验证的 Elasticsearch 密码。 |
Insights 特定配置
如果启用 Insights,则用户可以包含将用于发送计划电子邮件/警示电子邮件的 SMTP 服务器配置。如果未提供,计划电子邮件和警示电子邮件将不起作用。
insights.smtp_configuration
字段详细信息:
参数 |
描述 |
---|---|
|
有效值为 |
|
警示/计划电子邮件的发件人地址。 |
|
SMTP 服务器的主机名。 |
|
SMTP 服务器的端口 |
|
用于 SMTP 服务器身份验证的用户名。 |
|
用于 SMTP 服务器身份验证的密码。 |
enable_realtime_monitoring |
标记以启用 Insights 实时监控。有效值为 true 、false 。默认值为 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
部分中进行配置:
参数 |
描述 |
---|---|
|
数据库设置为占位符的 DotNet 格式连接字符串: |
|
自定义 Airflow 元数据数据库位置的 Sqlalchemy PYODBC 格式连接字符串: 示例:
位置 用户: 备注:
如果用户名中包含“@”,则必须将其编码为 %40 |
|
到 Process Mining 数据仓库 SQL Server 的 DotNet 格式的 SQL 连接字符串,其中包含 dbname 的占位符:
|
|
使用 dbname 占位符到 processmining 数据仓库 SQL Server 的 Sqlalchemy PYODBC 格式的 SQL 连接字符串:
|
|
如果安装程序通过 |
设置 Microsoft SQL Server 时,请确保将计算机的时区设置为 UTC。
sql_connection_string_template_sqlalchemy_pyodbc
与您自带数据库时使用的 PYODBC 连接字符串 sqlalchemy_pyodbc_sql_connection_str
的名称不同。此外,当您使用自己的数据库时,模板 SQL sql_connection_string_template
和 sql_connection_str
的连接字符串名称也不同。
如果您有自己的数据库,并且您在 input.json
文件的 processmining
部分中使用 sql_connection_str
和 sqlalchemy_pyodbc_sql_connection_str
连接字符串配置,则模板连接字符串 sql_connection_string_template
和 sql_connection_string_template_sqlalchemy_pyodbc
(如果指定)将被忽略。
Automation Suite Robot 特定配置
Automation Suite Robot 可以使用包缓存来优化流程运行,并使其运行速度更快。NuGet 包从文件系统获取,而不是从 Internet/网络下载。这需要至少 10GiB 的额外空间,并且应分配给专用节点的主机文件系统上的文件夹。
要启用包缓存,您需要更新以下 input.json
参数:
参数 |
默认值 |
描述 |
---|---|---|
|
|
设置为 |
|
|
存储包的无服务器代理节点上的磁盘位置。 |
内部负载均衡器配置
您可以在 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 配置的目标类型。您可以在 instance 和 ip 之间进行选择。
|
aws-load-balancer-scheme | 指定 NLB 是面向互联网还是内部。有效值为 internal 或 internet-facing 。如果未指定,则默认为 internal 。
|
aws-load-balancer-type | 指定负载均衡器类型。此控制器会协调这些服务资源,并将此注释设置为 nlb 或 external 。
|
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"
}
},