UiPath Documentation
automation-suite
2.2510
true
Guía de instalación de Automation Suite en OpenShift
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Instalar y configurar la malla de servicio

Instala y configura Service Mesh de Istio u OpenShift Service Mesh para la red de Automation Suite.

Importante:

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 requiere la malla de servicios de Istio para la entrada y la red.

Red Hat proporciona OpenShift Service Mesh, que se basa internamente en Istio.

La instalación y configuración de Service Mesh es un proceso de varios pasos. Cuál de los pasos debes realizar depende de si puedes otorgar o no privilegios de administrador al instalador de Automation Suite sobre tu clúster. Para obtener más información, consulta la siguiente tabla:

PasoPrivilegios de administradorSin privilegios de administrador
Paso 1: instalar la malla de servicioObligatorioObligatorio
Paso 2: configurar Istio e instalar el complemento WASM para el enrutamientoNo es necesarioObligatorio
Paso 3: configurar Istio para varias instalaciones en un solo clústerNo es necesarioObligatorio

Paso 1: instalar la malla de servicio​

Nota:

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.

Para instalar OpenShift Service Mesh, consulta el procedimiento que se aplica a la versión que utilizas:

Nota:

Automation Suite no requiere aplicaciones como Kiali y Jaeger. Sin embargo, puedes utilizarlos a tu discreción.

UiPath® no tiene opinión sobre la configuración del operador de Service Mesh para que se ejecute en cualquier nodo.

Instalación de OpenShift Service Mesh 2.x​

Para instalar OpenShift Service Mesh 2.x, sigue las instrucciones de la documentación de OpenShift Service Mesh.

Para crear el plano de control de OpenShift Service Mesh, sigue las instrucciones de la documentación del plano de control de OpenShift Service Mesh. Asegúrate de seguir también los siguientes pasos:

  1. Instala la nueva instancia del plano de control de la malla de servicio en el espacio de nombres <istio-system> .

  2. Utiliza el modo ClusterWide para el plano de control de la malla de servicio. Para el modo MultiTenant , consulta el punto 3 de esta página. El siguiente bloque debe estar presente en la sección spec del recurso ServiceMeshControlPlane :

     gateways:
       enabled: true
       openshiftRoute:
         enabled: true
     mode: ClusterWide
     gateways:
       enabled: true
       openshiftRoute:
         enabled: true
     mode: ClusterWide
    

    Para deshabilitar la ruta OpenShift, consulta el punto 4 de esta página.

  3. Puedes utilizar el modo MultiTenant para el plano de control de la malla de servicio. Este escenario requiere que crees explícitamente un rollo de miembro de malla de servicio, como se muestra en el siguiente ejemplo:

    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. También tienes la opción de deshabilitar la ruta OpenShift. Sin embargo, esta opción conlleva la responsabilidad adicional de crear manualmente una ruta para el FQDN. Para la creación manual de rutas, consulta el siguiente ejemplo:

    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: []
    
    ADVERTENCIA:

    Deshabilitar la ruta OpenShift dará lugar al siguiente error al ejecutar las comprobaciones de requisitos previos:

    ❌ [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
    
Instalar una versión específica de OpenShift Service Mesh​

Utiliza un archivo YAML para instalar una versión específica de OpenShift Service Mesh (OSSM). El siguiente archivo de ejemplo instala OSSM versión 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

Si planeas instalar una versión diferente de OSSM, reemplaza servicemeshoperator.v2.4.5 con el valor correcto para tu versión en el archivo YAML. Por ejemplo, para instalar OSSM versión 2.5.0, introduce servicemeshoperator.v2.5.0.

Para instalar OSSM, ejecuta el siguiente comando:

oc apply -f <yaml>
oc apply -f <yaml>

Reemplaza el marcador de posición <yaml> en el comando de muestra con el nombre de tu archivo YAML.

Importante:

Después de instalar OSSM, debes aprobar manualmente la instalación.

En la consola de OpenShift, ve a Operadores > Operadores instalados > OperadorDeServicio > 1 requiere aprobación > Vista previa del plan de instalación > Aprobar.

Instalación de OpenShift Service Mesh 3.x​

Antes de instalar OpenShift Service Mesh 3.x, asegúrate de que:

  • Your OpenShift Service Mesh and Automation Suite versions are compatible. For the supported combinations, refer to the Compatibility matrix.
  • Tienes permisos de administrador del clúster de OpenShift.
  • Puedes acceder a la consola web de OpenShift.
  • Tienes el nombre de dominio (FQDN) utilizado para el enrutamiento de Automation Suite.
  • Tienes OpenShift CLI (oc) instalado en tu estación de trabajo.

Una configuración completa de OpenShift Service Mesh 3.x para Automation Suite depende de los siguientes componentes. El operador de Service Mesh no los aprovisiona todos automáticamente, así que asegúrate de que cada uno esté presente en el clúster antes de instalar Automation Suite:

  • Operador de malla de servicio : gestiona el ciclo de vida de la malla de servicio. Se instala desde OperatorHub.
  • Plano de control de Istio : proporciona el plano de control central y la funcionalidad del plano de datos. El operador lo aprovisiona después de crear el recurso Istio.
  • Complemento CNI de Istio : configura y aplica reglas de red en malla. El operador lo aprovisiona después de crear el recurso IstioCNI.
  • Puerta de enlace de entrada : expone las aplicaciones de Automation Suite al tráfico externo. Debes implementarlo tú mismo; el operador no lo crea automáticamente.
  • Rutas : proporcionan puntos de entrada para los componentes de Automation Suite y el punto final de validación. Debes crear estos objetos OpenShift Route tú mismo, como se describe en los pasos a continuación.

Para instalar OpenShift Service Mesh 3.x, sigue las instrucciones para instalar el operador desde OperadorHub utilizando la consola web de OpenShift. Para obtener más información, consulta la documentación de OpenShift Service Mesh.

Asegúrate de seguir también los siguientes pasos:

  1. Instala el operador de Service Mesh desde OperadorHub siguiendo las instrucciones proporcionadas en la documentación de OpenShift Service Mesh.

  2. Asegúrate de que la puerta de enlace de entrada incluya las etiquetas correctas. Las etiquetas deben coincidir con los valores que pasas como selector de puerta de enlace en el archivo input.json . Para verificar la etiqueta de la puerta de enlace de entrada, ejecuta:

    oc get pods -l istio=ingressgateway -n <istio-system>
    oc get pods -l istio=ingressgateway -n <istio-system>
    
  3. Crea las rutas necesarias utilizando un archivo YAML. El archivo YAML debe definir rutas para el punto final principal de Automation Suite, el punto final de las aplicaciones, el punto final de Insights y el punto final de validación. Para obtener más información, consulta los siguientes ejemplos:

    • Punto final de 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
      
    • Punto final de 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
      
    • Punto final de 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
      
    • punto final de validación:
      ---
      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
      

    Esta ruta es necesaria para la ejecución de PreReq. Si falta, OpenShift puede devolver el siguiente error:

    ❌ [ISTIO_SERVICEMESH_VALIDATION_URL_ACCESS] error accessing the url. unexpected status code: 503

  4. Aplica las definiciones de ruta:

    oc apply -f routes.yaml
    oc apply -f routes.yaml
    
  5. Verifica que las rutas se crearon correctamente:

    oc get routes -n <istio-system>
    oc get routes -n <istio-system>
    

    Deberías ver las siguientes rutas:

    • uipath-route-https
    • uipath-route-apps
    • uipath-route-insights
    • istio-validation-route
  6. Si tu Istio CR configura meshConfig.discoverySelectors, etiqueta cada espacio de nombres de Automation Suite para que coincida con el valor del selector. Por ejemplo, si el selector es istio-discovery=enabled:

    oc label namespace <uipath> istio-discovery=enabled --overwrite
    oc label namespace <uipath> istio-discovery=enabled --overwrite
    

    Sin esta etiqueta, istiod no puede reconocer el espacio de nombres como miembro de la malla ni escribir el istio-ca-root-cert ConfigMap en él. Repite el proceso para <uipath>-installer, <uipath>-check, <uipath>-argocd y cualquier otro espacio de nombres de Automation Suite.

ADVERTENCIA:

La ruta de validación es obligatoria. Si falta la ruta, las comprobaciones de requisitos previos fallan con:

❌ [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
Migrar de OpenShift Service Mesh 2.x a 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.

Para migrar de OpenShift Service Mesh 2.x a 3.x, sigue los pasos proporcionados en la guía oficial de migración de 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.

Proporcionar la configuración de Istio​

Para proporcionar la configuración de Istio, debes establecer los siguientes parámetros en el archivo 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"
},

La siguiente tabla describe los parámetros de configuración de Istio:

ParámetroValor
ingress.gateway_selector.istioEsta es la etiqueta predeterminada utilizada internamente por Automation Suite. Sin embargo, tu entorno puede utilizar una etiqueta diferente para la puerta de enlace de entrada de Istio dependiendo de cómo se haya configurado el clúster.
El valor predeterminado es ingressgateway.
ingress.ingress_gateway_secretEl nombre del secreto que contiene los archivos de certificado.
El valor predeterminado es istio-ingressgateway-certs.
ingress.namespaceEl espacio de nombres donde has instalado la malla de servicio.
ingress.istio_gateway_service_name*El nombre del servicio de puerta de enlace de entrada de Istio.
El valor predeterminado es istio-ingressgateway.

* Disponible a partir de Automation Suite 2.2510.2.

Para comprobar la etiqueta utilizada por tu puerta de enlace de entrada de Istio, ejecuta el siguiente comando:

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

Paso 2: configurar Istio e instalar el complemento WASM para el enrutamiento​

Información general​

Importante:

Este paso requiere privilegios de administrador para la instalación en el espacio de nombres de Istio.

Hay dos formas de realizar la instalación:

  • Opción A: si no puedes proporcionar los permisos que requiere el instalador de Automation Suite, debes realizar este paso antes de la instalación de 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.

Requisitos previos​

Antes de configurar Istio e instalar el complemento WASM para el enrutamiento, debes cumplir los siguientes requisitos previos:

  • Utiliza una máquina Linux, Windows o macOS con acceso al servidor de la API de Kubernetes de OpenShift.

  • Install the OpenShift CLI client on your machine. For details, refer to Openshift CLI (oc).

  • Instala Helm 3.14 o posterior en la máquina desde la que planeas instalar el complemento WASM y autentica Helm en tu registro privado. Para instalar y autenticar Helm, sigue los siguientes pasos:

    1. Descarga e instala los binarios de Helm en tu máquina. Para obtener más información, consulta la documentación de Helm.

    2. Autentica Helm en tu registro siguiendo las instrucciones de la documentación de Helm. Alternativamente, utiliza el siguiente comando, reemplazando los valores de muestra con tu URL de registro real y tus credenciales:

      helm registry login my.registry.io:443 --username "admin" --password "secret"
      helm registry login my.registry.io:443 --username "admin" --password "secret"
      

Configuración e instalación​

Para configurar Istio e instalar el complemento WASM para el enrutamiento, sigue los siguientes pasos:

  1. Crea un imagepullsecret en el espacio de nombres donde instalaste la malla de servicio. Para crear el imagepullsecret, utiliza tu flujo de trabajo habitual o sigue los siguientes pasos:

    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. Crea el certificado Secret en el espacio de nombres <istio-system>. El nombre Secret debe coincidir con el valor de ingress.ingress_gateway_secret en tu input.json (el valor predeterminado es istio-ingressgateway-certs), y debe contener tres claves: tls.crt, tls.key y ca.crt. La clave ca.crt es necesaria cuando tu certificado TLS está firmado por una autoridad de certificación privada o autofirmada.

    El bloque ingress correspondiente en input.json se pasa de la siguiente manera:

    "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"
    }
    

    Crea el Secret utilizando uno de los siguientes métodos. Reemplace las rutas y valores de certificado de marcador de posición por los suyos propios.

    • Utilizando oc (desde archivos de certificado):
      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>
      
    • Utilizando un manifiesto de YAML (los valores están codificados en 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>
      
  3. Crea un archivo de valores de parámetros para aplicar durante la instalación de Helm de istio-configure. Utiliza la siguiente muestra como plantilla para el archivo y reemplaza los marcadores de posición <fqdn>, <pullsecret>, <registry> y <uipath_namespace> con los valores adecuados:

    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 protocol
    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 protocol
    
  4. Instala istio-configure en el espacio de nombres de Istio directamente desde el registro OCI, utilizando Helm. En el siguiente comando, reemplaza el marcador de posición <docker-registry> por tu registro, <istio-configure-version> por la versión del gráfico, <istio_namespace> por el espacio de nombres donde está instalado Istio y <path_to_the_values.yaml> por la ubicación del archivo de valores de parámetros:

    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>
    

    Establece <istio-configure-version> en la versión que coincida con tu versión de Automation Suite. Las versiones disponibles son 2.2510.0, 2.2510.1, 2.2510.2 y 2.2510.3. También puedes encontrar el valor exacto en el archivo versions.json incluido con los paquetes de instalación descargados (la entrada istio-configure).

  5. Si utilizas un registro que no está firmado por una autoridad conocida, debes añadir la variable de entorno WASM_INSECURE_REGISTRIES a la implementación istio-ingressgateway , para que Istio pueda extraer la imagen que utiliza el complemento WASM. Para añadir la variable de entorno, ejecuta el siguiente comando:

    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. Add istio-configure to the exclude_components section in your input.json file. For details, refer to Configuring input.json.

  7. Verifica que la configuración se haya completado correctamente comprobando los pods en el espacio de nombres <istio-system>:

    oc get pods -n <istio-system>
    oc get pods -n <istio-system>
    

    Los pods del complemento WASM deben estar en estado Running o Completed.

Nota:

Si actualizas el FQDN después de la instalación, debes volver a configurar Istio y el complemento WASM, a menos que el instalador de Automation Suite tenga privilegios administrativos. Para volver a configurar, debes seguir los siguientes pasos:

  1. Update the parameter values file mentioned in Step 3 with the new FQDN.
  2. Repite todos los pasos para configurar Istio e instalar el complemento WASM para el enrutamiento.

Opcional: instalar istio-configure con un único script​

Completa primero los pasos 1 y 2 (crea el secreto de extracción de imagen y el certificado Secret). A continuación, en lugar de ejecutar los pasos 3 y 4 de forma individual, puedes rellenar las variables en la parte superior del siguiente script y ejecutarlo. El script genera el archivo de valores de parámetros e instala istio-configure directamente desde el registro OCI en un solo paso. Una vez finalizado, continúa desde el paso 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

Paso 3: configurar Istio para varias instalaciones en un solo clúster​

Para configurar Istio para varias instalaciones de Automation Suite en un único clúster de OpenShift, debes añadir varios custom-istio-configure que contengan el FQDN y los recursos para diferentes instancias de Automation Suite. Debes rellenar los valores de helm que correspondan a tu segunda instalación o a cualquier instalación posterior.

Debes crear diferentes valores istio-configure para cada instalación:

 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

Debes cambiar el nombre de custom-istio-configure a <namespace>-custom-istio-configure. Debe instalarse en el espacio de nombres replicado donde se realiza la segunda instalación.

 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>

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado