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

OpenShift 上的 Automation Suite 安装指南

上次更新日期 2025年10月8日

安装和配置服务网格

重要提示:

仅当您无法为 Automation Suite 安装程序提供管理员权限时,安装权限才有意义。 如果您可以为安装程序提供所需的管理员权限,则无需遵循本部分中的说明。

Automation Suite 需要 Istio 服务网格用于入口和网络。

Red Hat 提供了 OpenShift Service网格,该服务在内部依赖于 Istio。

服务网格的安装和配置分为两步。 您必须执行哪些步骤取决于您是否可以向 Automation Suite 安装程序授予对集群的管理员权限。 有关详细信息,请参见下表:

步骤

管理员权限

没有管理员权限

步骤 1:安装服务网格

必需步骤

必需步骤

步骤 2:配置 Istio 并安装 WASM 路由插件

步骤非必填

必需步骤

步骤 3:为单个集群中的多个安装配置 Istio步骤非必填

必需步骤

步骤 1:安装服务网格

要安装 OpenShift Service网格,请按照OpenShift 服务网格文档中的说明进行操作。

备注:

Automation Suite 不需要 Kiale 和 Jaeger 等应用程序。 但是,您可以自行决定使用它们。

UiPath™ 不支持将 Service网格运算符配置为在任何节点上运行。

要创建 OpenShift 服务网格控制平面,请按照OpenShift 服务网格控制平面文档中的说明进行操作。 确保还执行以下步骤:
  1. <istio-system>命名空间中安装服务网格控制平面的新实例。
  2. 对服务网格控制平面使用ClusterWide模式。 对于MultiTenant模式,请参阅此页面上的第 3 点。 以下块必须存在于ServiceMeshControlPlane资源的spec部分下:
    gateways:
        enabled: true
        openshiftRoute:
          enabled: true
      mode: ClusterWide  gateways:
        enabled: true
        openshiftRoute:
          enabled: true
      mode: ClusterWide
    要禁用 OpenShift 路由,请参阅此页面上的第 4 点。
  3. 您可以对服务网格控制平面使用MultiTenant模式。 此场景要求您显式创建服务网格成员组,如以下示例所示:
    apiVersion: maistra.io/v1
    kind: ServiceMeshMemberRoll
    metadata:
      name: default
      namespace: <istio-system>
    spec:
      members:
        - <uipath>apiVersion: maistra.io/v1
    kind: ServiceMeshMemberRoll
    metadata:
      name: default
      namespace: <istio-system>
    spec:
      members:
        - <uipath>
  4. 您还可以选择禁用 OpenShift 路线。 但是,此选择会带来额外的责任,即需要手动创建 FQDN 路由。 有关手动创建路由的信息,请参阅以下示例:
    kind: Route
    apiVersion: route.openshift.io/v1
    metadata:
      name: uipath-route
      namespace: <istio-system>
      labels:
        app: istio-ingressgateway
        app.kubernetes.io/part-of: istio
        app.kubernetes.io/instance: <istio-system>
        maistra.io/owner-name: basic
        release: istio
        app.kubernetes.io/version: 2.6.1-1-1
        app.kubernetes.io/component: istio-ingress
        maistra-version: 2.6.1
        istio: ingressgateway
        app.kubernetes.io/managed-by: maistra-istio-operator
        maistra.io/owner: <istio-system>
        istio.io/rev: basic
        app.kubernetes.io/name: istio-ingress
    spec:
      to:
        kind: Service
        name: istio-ingressgateway
      tls:
        termination: passthrough
        insecureEdgeTerminationPolicy: Redirect
      host: <fqdn>
      port:
        targetPort: https
      alternateBackends: []kind: Route
    apiVersion: route.openshift.io/v1
    metadata:
      name: uipath-route
      namespace: <istio-system>
      labels:
        app: istio-ingressgateway
        app.kubernetes.io/part-of: istio
        app.kubernetes.io/instance: <istio-system>
        maistra.io/owner-name: basic
        release: istio
        app.kubernetes.io/version: 2.6.1-1-1
        app.kubernetes.io/component: istio-ingress
        maistra-version: 2.6.1
        istio: ingressgateway
        app.kubernetes.io/managed-by: maistra-istio-operator
        maistra.io/owner: <istio-system>
        istio.io/rev: basic
        app.kubernetes.io/name: istio-ingress
    spec:
      to:
        kind: Service
        name: istio-ingressgateway
      tls:
        termination: passthrough
        insecureEdgeTerminationPolicy: Redirect
      host: <fqdn>
      port:
        targetPort: https
      alternateBackends: []
    
    警告:运行先决条件检查时,禁用 OpenShift 路线将导致出现以下错误:
    [ISTIO_SERVICEMESH_VALIDATION_URL_ACCESS] error accessing the url. unexpected status code: 503 ❌ [ISTIO_SERVICEMESH_VALIDATION_URL_ACCESS] error accessing the url. unexpected status code: 503

安装特定版本的 OpenShift 服务网格

使用 YAML 文件安装特定版本的 OpenShift Service网格 (OSSM)。 以下示例文件将安装 OSSM 版本 2.4.5:
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: servicemeshoperator
  namespace: openshift-operators
spec:
  channel: stable
  installPlanApproval: Manual
  name: servicemeshoperator
  source: redhat-operators
  sourceNamespace: openshift-marketplace
  startingCSV: servicemeshoperator.v2.4.5apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  name: servicemeshoperator
  namespace: openshift-operators
spec:
  channel: stable
  installPlanApproval: Manual
  name: servicemeshoperator
  source: redhat-operators
  sourceNamespace: openshift-marketplace
  startingCSV: servicemeshoperator.v2.4.5
如果您计划安装其他 OSSM 版本,请在 YAML 文件中将servicemeshoperator.v2.4.5替换为您版本的正确值。 例如,要安装 OSSM 版本 2.5.0,请输入servicemeshoperator.v2.5.0
要安装 OSSM,请运行以下命令:
oc apply -f <yaml>oc apply -f <yaml>
将示例命令中的<yaml>占位符替换为 YAML 文件的名称。
重要提示:安装 OSSM 后,您必须手动批准安装。

在 OpenShift 控制台中,转到“ Operators ” >“ Installed Orchestrators” >“ Serviceme Shoperator ” > 1“需要批准”>“预览安装计划” > “批准”

提供 Istio 配置

要提供 Istio 配置,必须在input.json文件中设置以下参数:
"ingress": {
  "gateway_selector": {
    "istio": "ingressgateway"
  },
  "ingress_gateway_secret": "istio-ingressgateway-certs",
  "namespace": "<istio-system>"
},"ingress": {
  "gateway_selector": {
    "istio": "ingressgateway"
  },
  "ingress_gateway_secret": "istio-ingressgateway-certs",
  "namespace": "<istio-system>"
},
有关 Istio 配置参数的更多信息,请参阅下表:

参数

ingress.gateway_selector.istio
默认值: ingressgateway

如果您已更改值,请使用以下命令获取正确的值:

oc -n <istio-system> get deploy istio-ingressgateway -o jsonpath="{.metadata.labels.istio}"; echooc -n <istio-system> get deploy istio-ingressgateway -o jsonpath="{.metadata.labels.istio}"; echo
ingress.ingress_gateway_secret
包含证书文件的密码的名称。 默认值为istio-ingressgateway-certs
ingress.namespace在其中安装服务网格的命名空间。

步骤 2:配置 Istio 并安装 WASM 路由插件

概述

重要提示:

此步骤需要管理员权限才能在 Istio 命名空间中进行安装。

有两种方法可以执行安装:
  • 选项 A:如果您无法提供 Automation Suite 安装程序所需的权限,则必须在安装 Automation Suite 之前执行此步骤。

  • 选项 B:在 Automation Suite 安装期间。 此方法要求您在 Automation Suite 安装期间使用的 Kubeconfig 文件具有必要的权限。 要查看权限,请参阅授予安装权限部分。 如果您可以提供所有必要的权限,则跳过此步骤。

先决条件

在配置 Istio 并安装用于路由的 WASM 插件之前,您必须满足以下先决条件:
  • 使用有权访问 OpenShift Kubernetes API 服务器的 Linux、Windows 或 macOS 计算机。

  • 在计算机上安装 OpenShift CLI 客户端。 有关详细信息,请参阅OpenShift CLI (oc)

  • 在计划安装 WASM 插件的计算机上安装 Helm 3.14 或更高版本,并向您的私有注册表对 Helm 进行身份验证。 要安装并进行身份验证 Helm,请执行以下步骤:

    1. 在计算机上下载并安装 Helm 二进制文件。 有关详细信息,请参阅Helm 文档

    2. 按照Helm 文档中的说明,向注册表中的 Helm 进行身份验证。 或者,使用以下命令,并将示例值替换为实际的注册表 URL 和凭据:
      helm registry login my.registry.io:443 --username "admin" --password "secret"helm registry login my.registry.io:443 --username "admin" --password "secret"

配置与安装

要配置 Istio 并安装用于路由的 WASM 插件,请执行以下步骤:

  1. 在安装服务网格的命名空间中创建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
    
    oc create secret docker-registry uipathpullsecret --namespace=${namespace} \
      --docker-server=${registry} --docker-username=${username} \
      --docker-password=${password} --dry-run=client -o yaml \
      | oc 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
    
    oc create secret docker-registry uipathpullsecret --namespace=${namespace} \
      --docker-server=${registry} --docker-username=${username} \
      --docker-password=${password} --dry-run=client -o yaml \
      | oc apply -f -
  2. 将 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 2024.10.0 \
    --untar --untardir uipath-istio-configurehelm pull oci://registry.mycompany.com/helm/istio-configure --version 2024.10.0 \
    --untar --untardir uipath-istio-configure
  3. 创建要在 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
      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
    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
      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
    wasm:
      image:
        pullSecret: <pullsecret>    #name of pull secret which you had create earlier
        registry: oci://<registry>   #registry url without the protocol
  4. 使用 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 2024.10.0 \
      --namespace <istio_namespace> -f <path_to_the_values.yaml>helm upgrade --debug --install --wait custom-istio-configure \
      uipath-istio-configure/istio-configure --version 2024.10.0 \
      --namespace <istio_namespace> -f <path_to_the_values.yaml>
  5. 如果使用未经已知授权机构签名的注册表,则必须将WASM_INSECURE_REGISTRIES环境变量添加到istio-ingressgateway部署中,以便 Istio 可以拉取 WASM 插件使用的映像。 要添加环境变量,请运行以下命令:
    oc -n <istio-system> patch deployment istio-ingressgateway --type="json" --patch='[{"op":"add", "path": "/spec/template/spec/containers/0/env/-", "value": {"name": "WASM_INSECURE_REGISTRIES", "value": "customer-registry.com"}}]'oc -n <istio-system> patch deployment istio-ingressgateway --type="json" --patch='[{"op":"add", "path": "/spec/template/spec/containers/0/env/-", "value": {"name": "WASM_INSECURE_REGISTRIES", "value": "customer-registry.com"}}]'
  6. istio-configure添加到input.json文件的exclude_components部分。
  7. 使用<istio-system>命名空间中的ingress.ingress_gateway_secret中提供的名称创建证书密码。
备注:

如果在安装后更新 FQDN,则适用以下任一情况:

  • 如果您授予 Automation Suite 安装程序管理员权限,并且未将istio-configure组件添加到input.json文件的exclude_components列表中,则无需执行任何其他步骤。
  • 如果您未授予 Automation Suite 安装程序管理员权限,并且已将istio-configure组件添加到input.json文件的exclude_components列表中,则必须执行以下步骤:
    1. 使用新的 FQDN 更新第 3 点中提到的参数值文件。

    2. 重复配置 Istio 并安装 WASM 路由插件的所有步骤。

步骤 3:为单个集群中的多个安装配置 Istio

要为单个 OpenShift 集群中的多个 Automation Suite 安装配置 Istio,您必须添加多个custom-istio-configure ,其中包含不同 Automation Suite 实例的 FQDN 和资源。您必须填写与第二次或任何后续安装对应的 Helm 值。
必须为每次安装创建不同的istio-configure值:
fqdn: <fqdn-for-second-installation>    #the FQDN of the Automation Suite
gateway:
  selector:
    istio: ingressgateway
global:
  cluster_type: <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: <second-installation-namespace>   #namespace where the uipath application is deployed
patchIstioService: false
wasm:
  image:
    pullSecret: <pullsecret>    #name of pull secret which you had create earlier
    registry: oci://<registry>   #registry url without the protocol fqdn: <fqdn-for-second-installation>    #the FQDN of the Automation Suite
gateway:
  selector:
    istio: ingressgateway
global:
  cluster_type: <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: <second-installation-namespace>   #namespace where the uipath application is deployed
patchIstioService: false
wasm:
  image:
    pullSecret: <pullsecret>    #name of pull secret which you had create earlier
    registry: oci://<registry>   #registry url without the protocol
您必须将custom-istio-configure的名称更改为<namespace>-custom-istio-configure 。这必须安装在执行第二次安装的复制命名空间上。
helm upgrade --debug --install --wait <namespace>-custom-istio-configure \
  uipath-istio-configure/istio-configure --version 2024.10.0 \
  --namespace <istio_namespace> -f <path_to_the_values.yaml> helm upgrade --debug --install --wait <namespace>-custom-istio-configure \
  uipath-istio-configure/istio-configure --version 2024.10.0 \
  --namespace <istio_namespace> -f <path_to_the_values.yaml>

此页面有帮助吗?

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