- 概述
- 要求
- 预安装
- 安装
- 安装后
- 迁移和升级
- 监控和警示
- 集群管理
- 特定于产品的配置
- 故障排除
- 由于无法连接到 Azure Government,备份设置不起作用
- 启用自定义节点污点时,UiPath 命名空间中的 Pod 卡住
- 无法使用代理设置启动 Automation Hub 和 Apps
- 由于“验证失败”错误,Velero 备份失败
- 外部密码故障排除
- 时间即服务故障排除
- 无法在启用 TLS 证书验证的情况下启动 AI Center 和 Document Understanding Pod
- TLS 证书验证错误
- Fluentd 不会在 IPv6 环境中导出日志
- Studio 桌面版无法加载 Integration Service 连接器和活动
- 手动 ArgoCD 网络策略缓解措施 (MHSA-47m3-95c7-g2g8)
- 为 uipathctl 创建的工作负载配置资源请求和限制
安装和配置服务网格
在 EKS/AKS 上为 Automation Suite 安装和配置 Istio 服务网格。
仅当您无法为 Automation Suite 安装程序提供管理员权限时,安装权限才有意义。 如果您可以为安装程序提供所需的管理员权限,则无需遵循本部分中的说明。
Automation Suite 需要 Istio 服务网格用于入口和网络。
服务网格的安装和配置是一个多步骤过程。您必须执行的步骤取决于您是否可以向 Automation Suite 安装程序授予对集群的管理员权限。有关详细信息,请参阅下表:
| 步骤 | 管理员权限 | 没有管理员权限 |
|---|---|---|
| 步骤 1:安装服务网格 | 步骤非必填 | 必需步骤 |
| 步骤 2:配置 Istio 并安装 WASM 路由插件 | 步骤非必填 | 必需步骤 |
步骤 1:安装服务网格
要安装 Istio,请参阅Istio 官方文档。
Automation Suite 不需要 Kiale 和 Jaeger 等应用程序。 但是,您可以自行决定使用它们。
提供 Istio 配置
要提供 Istio 配置,必须在input.json文件中设置以下参数:
"ingress": {
"gateway_selector": {
"istio": "ingressgateway"
},
"ingress_gateway_secret": "istio-ingressgateway-certs",
"namespace": "<istio-system>",
"istio_gateway_service_name": "istio-ingressgateway"
},
"ingress": {
"gateway_selector": {
"istio": "ingressgateway"
},
"ingress_gateway_secret": "istio-ingressgateway-certs",
"namespace": "<istio-system>",
"istio_gateway_service_name": "istio-ingressgateway"
},
下表介绍了 Istio 配置参数:
| 参数 | 值 |
|---|---|
ingress.gateway_selector.istio | 这是 Automation Suite 内部使用的默认标签。但是,您的环境可能会对 Istio 入口网关使用不同的标签,具体取决于集群的配置方式。 默认值为 ingressgateway。 |
ingress.ingress_gateway_secret | 包含证书文件的密码的名称。 默认值为 istio-ingressgateway-certs。 |
ingress.namespace | 在其中安装服务网格的命名空间。 |
ingress.istio_gateway_service_name* | Istio 入口网关服务的名称。 默认值为 istio-ingressgateway。 |
* 从 Automation Suite 2.2510.2 开始可用。
要检查 Istio 入口网关使用的标签,请运行以下命令:
kubectl -n <istio-system> get deploy istio-ingressgateway -o jsonpath="{.metadata.labels.istio}"; echo
kubectl -n <istio-system> get deploy istio-ingressgateway -o jsonpath="{.metadata.labels.istio}"; echo
步骤 2:配置 Istio 并安装 WASM 路由插件
概述
此步骤需要管理员权限才能在 Istio 命名空间中进行安装。
有两种方法可以执行安装:
- 选项 A:如果您无法提供 Automation Suite 安装程序所需的权限,则必须在安装 Automation Suite 之前执行此步骤。
- 选项 B:在安装 Automation Suite 期间。此方法要求您在 Automation Suite 安装期间使用的 Kubeconfig 文件具有必要的权限。要查看权限,请参阅“授予安装权限”部分。如果您可以提供所有必要的权限,则跳过此步骤。
配置与安装
要配置 Istio 并安装用于路由的 WASM 插件,请执行以下步骤:
-
在安装服务网格的命名空间中创建
imagepullsecret。 要创建imagepullsecret,请使用典型工作流或执行以下步骤:registry= <registry_url> #provide the registry where the UiPath images are hosted username= <user_name> #provide the username which will be used for the authentication password= <password> #provide the password which will be used for the authentication namespace= <namespace> #namespace where you want to create a secret kubectl create secret docker-registry uipathpullsecret --namespace=${namespace} \ --docker-server=${registry} --docker-username=${username} \ --docker-password=${password} --dry-run=client -o yaml \ | kubectl apply -f -registry= <registry_url> #provide the registry where the UiPath images are hosted username= <user_name> #provide the username which will be used for the authentication password= <password> #provide the password which will be used for the authentication namespace= <namespace> #namespace where you want to create a secret kubectl create secret docker-registry uipathpullsecret --namespace=${namespace} \ --docker-server=${registry} --docker-username=${username} \ --docker-password=${password} --dry-run=client -o yaml \ | kubectl apply -f - -
将 Helm 图表拉取到本地目录
<uipath-istio-configure>:helm pull oci://<docker-registry>/helm/istio-configure --version <istio-configure-version> \ --untar --untardir <uipath-istio-configure>helm pull oci://<docker-registry>/helm/istio-configure --version <istio-configure-version> \ --untar --untardir <uipath-istio-configure>以下示例显示了将占位符替换为实际值后的命令:
helm pull oci://registry.mycompany.com/helm/istio-configure --version 2.2510.0 \ --untar --untardir uipath-istio-configurehelm pull oci://registry.mycompany.com/helm/istio-configure --version 2.2510.0 \ --untar --untardir uipath-istio-configure -
创建要在 Helm 安装
istio-configure期间应用的参数值文件。使用以下示例作为文件的模板,并将<fqdn>、<cluster_type>、<pullsecret>、<registry>和<uipath_namespace>占位符替换为适当的值:fqdn: <fqdn> #the FQDN of the Automation Suite gateway: selector: istio: ingressgateway global: cluster_type: <cluster_type> # REQUIRED. Example: eks, aks, openshift kubernetesDistribution: <cluster_type> # REQUIRED. Example: eks, aks, openshift imagePullSecret: name: <pullsecret> #name of pull secret which you had create earlier minProtocolVersion: TLSV1_2 #TLS versions uipath: registry: <registry> #registry url without the protocol uipathServiceNamespace: <uipath_namespace> #namespace where the uipath application is deployed patchIstioService: false istioGatewayServiceName: "istio-ingressgateway" wasm: image: pullSecret: <pullsecret> #name of pull secret which you had create earlier registry: oci://<registry> #registry url without the protocolfqdn: <fqdn> #the FQDN of the Automation Suite gateway: selector: istio: ingressgateway global: cluster_type: <cluster_type> # REQUIRED. Example: eks, aks, openshift kubernetesDistribution: <cluster_type> # REQUIRED. Example: eks, aks, openshift imagePullSecret: name: <pullsecret> #name of pull secret which you had create earlier minProtocolVersion: TLSV1_2 #TLS versions uipath: registry: <registry> #registry url without the protocol uipathServiceNamespace: <uipath_namespace> #namespace where the uipath application is deployed patchIstioService: false istioGatewayServiceName: "istio-ingressgateway" wasm: image: pullSecret: <pullsecret> #name of pull secret which you had create earlier registry: oci://<registry> #registry url without the protocol -
使用 Helm 在 Istio 命名空间中安装
istio-configure。 在以下命令中,将<istio_namespace>占位符替换为安装 Istio 的命名空间,并将<path_to_the_values_yaml>替换为包含参数值的 YAML 文件的位置:helm upgrade --debug --install --wait custom-istio-configure \ uipath-istio-configure/istio-configure --version 2.2510.0 \ --namespace <istio_namespace> -f <path_to_the_values.yaml>helm upgrade --debug --install --wait custom-istio-configure \ uipath-istio-configure/istio-configure --version 2.2510.0 \ --namespace <istio_namespace> -f <path_to_the_values.yaml> -
如果使用未经已知授权机构签名的注册表,则必须将
WASM_INSECURE_REGISTRIES环境变量添加到istio-ingressgateway部署中,以便 Istio 可以拉取 WASM 插件使用的映像。 要添加环境变量,请运行以下命令:kubectl -n <istio-system> patch deployment istio-ingressgateway --type json -p='[{"op": "add", "path": "/spec/template/spec/containers/0/env", "value": [{"name": "WASM_INSECURE_REGISTRIES", "value": "registry.mycompany.com"}]}]'kubectl -n <istio-system> patch deployment istio-ingressgateway --type json -p='[{"op": "add", "path": "/spec/template/spec/containers/0/env", "value": [{"name": "WASM_INSECURE_REGISTRIES", "value": "registry.mycompany.com"}]}]' -
将
istio-configure添加到input.json文件的exclude_components部分。有关详细信息,请参阅配置 input.json 。 -
使用
<istio-system>命名空间中的ingress.ingress_gateway_secret中提供的名称创建证书密码。
如果在安装后更新 FQDN,则必须重新配置 Istio 和 WASM 插件,除非 Automation Suite 安装程序具有管理权限。要重新配置,您必须执行以下步骤:
- 使用新的 FQDN 更新步骤 3中提到的参数值文件。
- 重复配置 Istio 并安装 WASM 路由插件的所有步骤。