- 概述
- 要求
- 预安装
- 安装
- 安装后
- 迁移和升级
- 监控和警示
- 集群管理
- 特定于产品的配置
- 故障排除
安装和配置服务网格
为 Automation Suite 网络安装和配置 Istio 服务网格或 OpenShift 服务网格。
If you grant the Automation Suite installer cluster-admin privileges - or the required write permissions together with the required cluster roles - the installer configures Istio and installs the WASM plugin for routing automatically. In that case, you can skip Step 2: Configuring Istio and installing the WASM plugin for routing and Step 3: Configuring Istio for multiple installations in a single cluster. Perform these steps manually only if you cannot grant the installer those privileges.
Automation Suite 需要 Istio 服务网格用于入口和网络。
Red Hat 提供了 OpenShift Service网格,该服务在内部依赖于 Istio。
服务网格的安装和配置是一个多步骤过程。您必须执行的步骤取决于您是否可以向 Automation Suite 安装程序授予对集群的管理员权限。有关详细信息,请参阅下表:
| 步骤 | 管理员权限 | 没有管理员权限 |
|---|---|---|
| 步骤 1:安装服务网格 | 必填 | 必填 |
| 步骤 2:配置 Istio 并安装 WASM 路由插件 | 非必填 | 必填 |
| 步骤 3:为单个集群中的多个安装配置 Istio | 非必填 | 必填 |
步骤 1:安装服务网格
Before selecting an installation procedure, review the OpenShift Service Mesh compatibility matrix to confirm which OSSM versions are supported for your Automation Suite on OpenShift version.
要安装 OpenShift Service网格,请参阅适用于您使用的版本的过程:
Automation Suite 不需要 Kiale 和 Jaeger 等应用程序。 但是,您可以自行决定使用它们。
UiPath™ 不支持将 Service网格运算符配置为在任何节点上运行。
安装 OpenShift 服务网格 2.x
要安装 OpenShift Service网格 2.x,请按照OpenShift 服务网格文档中的说明进行操作。
要创建 OpenShift 服务网格控制平面,请按照OpenShift 服务网格控制平面文档中的说明进行操作。确保同时执行以下步骤:
-
在
<istio-system>命名空间中安装服务网格控制平面的新实例。 -
对服务网格控制平面使用
ClusterWide模式。对于MultiTenant模式,请参阅此页面上的第 3 点。以下块必须存在于ServiceMeshControlPlane资源的spec部分下:gateways: enabled: true openshiftRoute: enabled: true mode: ClusterWidegateways: enabled: true openshiftRoute: enabled: true mode: ClusterWide要禁用 OpenShift 路由,请参阅此页面上的第 4 点。
-
您可以对服务网格控制平面使用
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> -
您还可以选择禁用 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.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.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” > “已安装的运算符” > “Serviceme Shoperator” > “1需要批准” > “预览安装计划” > “批准” 。
安装 OpenShift 服务网格 3.x
在安装 OpenShift Service网格 3.x 之前,请确保:
- Your OpenShift Service Mesh and Automation Suite versions are compatible. For the supported combinations, refer to the Compatibility matrix.
- 您拥有 OpenShift 集群管理员权限。
- 您可以访问 OpenShift Web 控制台。
- 您拥有用于 Automation Suite 路由的域名 (FQDN)。
- 您已在工作站上安装 OpenShift CLI (
oc)。
适用于 Automation Suite 的完整 OpenShift Service网格 3.x 设置依赖于以下组件。Service网格运算符不会自动配置所有这些变量,因此在安装 Automation Suite 之前,请确保每个变量都存在于集群中:
- Service网格运算符- 管理服务网格的生命周期。您可以从 OperatorHub 安装它。
- Istio 控制平面- 提供核心控制平面和数据平面功能。运算符在您创建
Istio资源后对其进行配置。 - Istio CNI 插件- 配置并强制执行网格网络规则。运算符在您创建
IstioCNI资源后对其进行配置。 - 入口网关- 将 Automation Suite 应用程序公开给外部流量。必须自行部署;运算符不会自动创建该字段。
- 路由- 为 Automation Suite 组件和验证端点提供入口点。您必须自行创建这些 OpenShift
Route对象,如以下步骤所述。
要安装 OpenShift Service网格 3.x,请使用 OpenShift Web 控制台,按照从运算符 Hub 安装运算符的说明进行操作。有关详细信息,请参阅《OpenShift 服务网格文档》 。
确保同时执行以下步骤:
-
按照OpenShift Service网格文档中提供的说明,从运算符 Hub 安装服务网格运算符。
-
确保入口网关包含正确的标签。标签必须与您在
input.json文件中作为网关选取器传递的值匹配。要验证入口网关标签,请运行以下内容:oc get pods -l istio=ingressgateway -n <istio-system>oc get pods -l istio=ingressgateway -n <istio-system> -
使用 YAML 文件创建所需的路由。YAML 文件必须为 Automation Suite 主端点、应用程序端点、Insights 端点和验证端点定义路由。有关详细信息,请参阅以下示例:
- Automation Suite 端点:
--- kind: Route apiVersion: route.openshift.io/v1 metadata: name: uipath-route-https namespace: <istio-system> spec: host: <FQDN> to: kind: Service name: istio-ingressgateway # Istio Ingress gateway Service port: targetPort: https tls: termination: passthrough insecureEdgeTerminationPolicy: Redirect--- kind: Route apiVersion: route.openshift.io/v1 metadata: name: uipath-route-https namespace: <istio-system> spec: host: <FQDN> to: kind: Service name: istio-ingressgateway # Istio Ingress gateway Service port: targetPort: https tls: termination: passthrough insecureEdgeTerminationPolicy: Redirect - Apps 端点:
--- kind: Route apiVersion: route.openshift.io/v1 metadata: name: uipath-route-apps namespace: <istio-system> spec: host: apps.<FQDN> to: kind: Service name: istio-ingressgateway # Istio Ingress gateway Service port: targetPort: https tls: termination: passthrough insecureEdgeTerminationPolicy: Redirect--- kind: Route apiVersion: route.openshift.io/v1 metadata: name: uipath-route-apps namespace: <istio-system> spec: host: apps.<FQDN> to: kind: Service name: istio-ingressgateway # Istio Ingress gateway Service port: targetPort: https tls: termination: passthrough insecureEdgeTerminationPolicy: Redirect - Insights 端点:
--- kind: Route apiVersion: route.openshift.io/v1 metadata: name: uipath-route-insights namespace: <istio-system> spec: host: insights.<FQDN> to: kind: Service name: istio-ingressgateway # Istio Ingress gateway Service port: targetPort: https tls: termination: passthrough insecureEdgeTerminationPolicy: Redirect--- kind: Route apiVersion: route.openshift.io/v1 metadata: name: uipath-route-insights namespace: <istio-system> spec: host: insights.<FQDN> to: kind: Service name: istio-ingressgateway # Istio Ingress gateway Service port: targetPort: https tls: termination: passthrough insecureEdgeTerminationPolicy: Redirect - 验证端点:
--- kind: Route apiVersion: route.openshift.io/v1 metadata: name: istio-validation-route namespace: <istio-system> spec: host: istio-validation.<FQDN> # Istio Ingress gateway Service to: kind: Service name: istio-ingressgateway port: targetPort: http2--- kind: Route apiVersion: route.openshift.io/v1 metadata: name: istio-validation-route namespace: <istio-system> spec: host: istio-validation.<FQDN> # Istio Ingress gateway Service to: kind: Service name: istio-ingressgateway port: targetPort: http2
此路由是先决条件运行的必要项。如果缺少,OpenShift 可能会返回以下错误:
❌ [ISTIO_SERVICEMESH_VALIDATION_URL_ACCESS] error accessing the url. unexpected status code: 503 - Automation Suite 端点:
-
应用路由定义:
oc apply -f routes.yamloc apply -f routes.yaml -
验证路由是否已成功创建:
oc get routes -n <istio-system>oc get routes -n <istio-system>您应该会看到以下路由:
uipath-route-httpsuipath-route-appsuipath-route-insightsistio-validation-route
-
如果您的 Istio CR 配置了
meshConfig.discoverySelectors,请标记每个 Automation Suite 命名空间以匹配选取器值。例如,如果选取器为istio-discovery=enabled:oc label namespace <uipath> istio-discovery=enabled --overwriteoc label namespace <uipath> istio-discovery=enabled --overwrite如果没有此标签, istiod 无法将命名空间识别为网格成员,也无法将
istio-ca-root-cert配置映射写入其中。对<uipath>-installer、<uipath>-check、<uipath>-argocd和任何其他 Automation Suite 命名空间重复此操作。
验证路由为必填项。如果缺少路由,先决条件检查将失败,并显示以下内容:
❌ [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 服务网格 2.x 迁移到 3.x
Before starting the migration process, make sure you have installed or upgraded to a supported Automation Suite version. For details, refer to the Compatibily matrix.
要从 OpenShift 服务网格 2.x 迁移到 3.x,请按照官方Red Hat 迁移指南中提供的步骤操作。
After completing the migration, review the OpenShift Service Mesh 3.x installation procedure to ensure that all required configuration steps, such as gateway labeling, route creation, and validation endpoint setup, are in place.
提供 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 入口网关使用的标签,请运行以下命令:
oc -n <istio-system> get deploy istio-ingressgateway -o jsonpath="{.spec.selector.matchLabels.istio}"; echo
oc -n <istio-system> get deploy istio-ingressgateway -o jsonpath="{.spec.selector.matchLabels.istio}"; echo
步骤 2:配置 Istio 并安装 WASM 路由插件
概述
此步骤需要管理员权限才能在 Istio 命名空间中进行安装。
有两种方法可以执行安装:
- 选项 A:如果您无法提供 Automation Suite 安装程序所需的权限,则必须在安装 Automation Suite 之前执行此步骤。
- Option B: During the Automation Suite installation. This method requires the Kubeconfig file that you use during the Automation Suite installation to have the necessary permissions. To review the permissions, refer to the Granting installation permissions section. If you can provide all the necessary permissions, then skip this step.
先决条件
在配置 Istio 并安装用于路由的 WASM 插件之前,您必须满足以下先决条件:
-
使用有权访问 OpenShift Kubernetes API 服务器的 Linux、Windows 或 macOS 计算机。
-
Install the OpenShift CLI client on your machine. For details, refer to Openshift CLI (oc).
-
在计划安装 WASM 插件的计算机上安装 Helm 3.14 或更高版本,并向您的私有注册表对 Helm 进行身份验证。 要安装并进行身份验证 Helm,请执行以下步骤:
配置和安装
要配置 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 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 - -
在
Secret命名空间中创建证书<istio-system>。Secret名称必须与ingress.ingress_gateway_secret中的input.json的值匹配(默认为istio-ingressgateway-certs),并且必须包含三个键:tls.crt、tls.key和ca.crt。当您的 TLS 证书由私有或自签名证书颁发机构签名时,需要ca.crt密钥。ingress中的相应input.json块按如下方式传递:"ingress": { "namespace": "<istio-system>", "gateway_selector": { "istio": "ingressgateway" }, "ingress_gateway_secret": "istio-ingressgateway-certs" }"ingress": { "namespace": "<istio-system>", "gateway_selector": { "istio": "ingressgateway" }, "ingress_gateway_secret": "istio-ingressgateway-certs" }使用以下方法之一创建
Secret。将占位符证书路径和值替换为您自己的证书路径和值。- 使用
oc(来自证书文件):oc create secret generic istio-ingressgateway-certs \ --namespace <istio-system> \ --from-file=tls.crt=<path-to-tls.crt> \ --from-file=tls.key=<path-to-tls.key> \ --from-file=ca.crt=<path-to-ca.crt>oc create secret generic istio-ingressgateway-certs \ --namespace <istio-system> \ --from-file=tls.crt=<path-to-tls.crt> \ --from-file=tls.key=<path-to-tls.key> \ --from-file=ca.crt=<path-to-ca.crt> - 使用 YAML 清单(值进行 base64 编码):
apiVersion: v1 kind: Secret metadata: name: istio-ingressgateway-certs namespace: <istio-system> type: Opaque data: tls.crt: <base64-encoded-tls.crt> tls.key: <base64-encoded-tls.key> ca.crt: <base64-encoded-ca.crt>apiVersion: v1 kind: Secret metadata: name: istio-ingressgateway-certs namespace: <istio-system> type: Opaque data: tls.crt: <base64-encoded-tls.crt> tls.key: <base64-encoded-tls.key> ca.crt: <base64-encoded-ca.crt>
- 使用
-
创建参数值文件,以在
istio-configure的 Helm 安装期间应用。使用以下示例作为文件的模板,并将<fqdn>、<pullsecret>、<registry>和<uipath_namespace>占位符替换为适当的值:fqdn: <fqdn> #the FQDN of the Automation Suite gateway: selector: istio: ingressgateway global: cluster_type: openshift # REQUIRED kubernetesDistribution: openshift # REQUIRED 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: openshift # REQUIRED kubernetesDistribution: openshift # REQUIRED 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 直接从 OCI 注册表在 Istio 命名空间中安装
istio-configure。在以下命令中,将<docker-registry>占位符替换为您的注册表,<istio-configure-version>替换为图表版本,<istio_namespace>替换为安装 Istio 的命名空间,将<path_to_the_values.yaml>替换为参数值文件的位置:helm upgrade --debug --install --wait custom-istio-configure \ oci://<docker-registry>/helm/istio-configure --version <istio-configure-version> \ --namespace <istio_namespace> -f <path_to_the_values.yaml>helm upgrade --debug --install --wait custom-istio-configure \ oci://<docker-registry>/helm/istio-configure --version <istio-configure-version> \ --namespace <istio_namespace> -f <path_to_the_values.yaml>将
<istio-configure-version>设置为与您的 Automation Suite 版本匹配的版本。可用版本为2.2510.0、2.2510.1、2.2510.2和2.2510.3。您还可以在下载的安装包包含的versions.json文件(istio-configure条目)中找到确切的值。 -
如果使用未经已知授权机构签名的注册表,则必须将
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"}}]' -
Add
istio-configureto theexclude_componentssection in yourinput.jsonfile. For details, refer to Configuring input.json. -
通过检查
<istio-system>命名空间中的 Pod 来验证配置是否已成功完成:oc get pods -n <istio-system>oc get pods -n <istio-system>WASM 插件 Pod 应处于
Running或Completed状态。
如果在安装后更新 FQDN,则必须重新配置 Istio 和 WASM 插件,除非 Automation Suite 安装程序具有管理权限。要重新配置,您必须执行以下步骤:
- Update the parameter values file mentioned in Step 3 with the new FQDN.
- 重复配置 Istio 并安装 WASM 路由插件的所有步骤。
可选:使用单个脚本安装istio-configure
首先完成步骤 1 和 2(创建映像拉取密码和证书 Secret)。然后,您可以在以下脚本顶部填写变量然后运行步骤 3 和 4,而不是单独运行步骤 3 和 4。该脚本可生成参数值文件并直接从 OCI 注册表安装 istio-configure。完成后,从第 5 步继续操作。
#!/usr/bin/env bash
set -euo pipefail
# ---- Fill in these values ----
REGISTRY="registry.mycompany.com" # registry host, without protocol
ISTIO_CONFIGURE_VERSION="2.2510.0" # available: 2.2510.0, 2.2510.1, 2.2510.2, 2.2510.3 (match your Automation Suite version)
FQDN="autosuite.mycompany.com" # Automation Suite FQDN
PULL_SECRET="uipathpullsecret" # pull secret created earlier
UIPATH_NAMESPACE="uipath" # namespace where Automation Suite is deployed
ISTIO_NAMESPACE="istio-system" # namespace where Istio is installed
# ------------------------------
cat > istio-configure-values.yaml <<EOF
fqdn: ${FQDN}
gateway:
selector:
istio: ingressgateway
global:
cluster_type: openshift
kubernetesDistribution: openshift
imagePullSecret:
name: ${PULL_SECRET}
minProtocolVersion: TLSV1_2
uipath:
registry: ${REGISTRY}
uipathServiceNamespace: ${UIPATH_NAMESPACE}
patchIstioService: false
istioGatewayServiceName: "istio-ingressgateway"
wasm:
image:
pullSecret: ${PULL_SECRET}
registry: oci://${REGISTRY}
EOF
helm upgrade --debug --install --wait custom-istio-configure \
"oci://${REGISTRY}/helm/istio-configure" --version "${ISTIO_CONFIGURE_VERSION}" \
--namespace "${ISTIO_NAMESPACE}" -f istio-configure-values.yaml
#!/usr/bin/env bash
set -euo pipefail
# ---- Fill in these values ----
REGISTRY="registry.mycompany.com" # registry host, without protocol
ISTIO_CONFIGURE_VERSION="2.2510.0" # available: 2.2510.0, 2.2510.1, 2.2510.2, 2.2510.3 (match your Automation Suite version)
FQDN="autosuite.mycompany.com" # Automation Suite FQDN
PULL_SECRET="uipathpullsecret" # pull secret created earlier
UIPATH_NAMESPACE="uipath" # namespace where Automation Suite is deployed
ISTIO_NAMESPACE="istio-system" # namespace where Istio is installed
# ------------------------------
cat > istio-configure-values.yaml <<EOF
fqdn: ${FQDN}
gateway:
selector:
istio: ingressgateway
global:
cluster_type: openshift
kubernetesDistribution: openshift
imagePullSecret:
name: ${PULL_SECRET}
minProtocolVersion: TLSV1_2
uipath:
registry: ${REGISTRY}
uipathServiceNamespace: ${UIPATH_NAMESPACE}
patchIstioService: false
istioGatewayServiceName: "istio-ingressgateway"
wasm:
image:
pullSecret: ${PULL_SECRET}
registry: oci://${REGISTRY}
EOF
helm upgrade --debug --install --wait custom-istio-configure \
"oci://${REGISTRY}/helm/istio-configure" --version "${ISTIO_CONFIGURE_VERSION}" \
--namespace "${ISTIO_NAMESPACE}" -f istio-configure-values.yaml
步骤 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: openshift # REQUIRED
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: openshift # REQUIRED
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 \
oci://<docker-registry>/helm/istio-configure --version <istio-configure-version> \
--namespace <istio_namespace> -f <path_to_the_values.yaml>
helm upgrade --debug --install --wait <namespace>-custom-istio-configure \
oci://<docker-registry>/helm/istio-configure --version <istio-configure-version> \
--namespace <istio_namespace> -f <path_to_the_values.yaml>