UiPath Documentation
automation-suite
2.2510
true
Guide d'installation d'Automation Suite sur OpenShift
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Installation et configuration du service Mesh

Installez et configurez le service Istio Service Mesh ou OpenShift Service Mesh pour la mise en réseau d’Automation Suite.

Important :

Si vous accordez les privilèges d'administrateur de cluster du programme d'installation d'Automation Suite, ou les autorisations d'écriture requises avec les rôles de cluster requis, le programme d'installation configure Istio et installe le plug-in WASM pour le routage automatique. Dans ce cas, vous pouvez ignorer l'Étape 2: Configurer Istio et installer le plug-in WASM pour le routage et l'Étape 3: Configurer Istio pour plusieurs installations dans un seul cluster. Effectuez ces étapes manuellement uniquement si vous ne pouvez pas accorder ces privilèges au programme d'installation.

Automation Suite requiert le service Mesh Istio pour l'entrée et la mise en réseau.

Red Hat fournit OpenShift Service Mesh, qui repose sur Istio en interne.

L’installation et la configuration de Service Mesh sont des processus en plusieurs étapes. Laquelle des étapes que vous devez effectuer dépend de la capacité ou non d'accorder l'administrateur du programme d'installation d'Automation Suite sur votre cluster. Pour de plus amples informations, consultez le tableau suivant:

ÉtapePrivilèges d'administrateurAucun privilège d’administrateur
Étape 1 : installation du service MeshRequisRequis
Étape 2 : configuration d'Istio et installation du plug-in WASM pour le routageNon requisRequis
Étape 3 : Configuration d'Istio pour plusieurs installations dans un seul clusterNon requisRequis

Étape 1 : installation du service Mesh​

Remarque :

Avant de choisir une procédure d'installation, examinez la matrice de compatibilité du service OpenShift Service Mesh pour confirmer les versions d'OSSM prises en charge pour votre version d'Automation Suite sur OpenShift.

Pour installer OpenShift Service Mesh, reportez-vous à la procédure qui s'applique à la version que vous utilisez :

Remarque :

Automation Suite ne nécessite pas d'applications telles que Kiali et Jueger. Cependant, vous pouvez les utiliser à votre discrétion.

UiPath® ne saurait vous conseiller sur la configuration de l’opérateur Service Mesh pour qu’il s’exécute sur n’importe quel nœud.

Installation d'OpenShift Service Mesh 2.x​

Pour installer OpenShift Service Mesh 2.x, suivez les instructions de la documentation d'OpenShift Service Mesh.

Pour créer le plan de contrôle OpenShift Service Mesh, suivez les instructions de la documentation du Plan de contrôle OpenShift Service Mesh. Assurez-vous également de suivre les étapes suivantes :

  1. Installez la nouvelle instance du plan de contrôle Service Mesh dans l'espace de noms <istio-system> .

  2. Utilisez le mode ClusterWide pour le plan de contrôle de Service Mesh. Pour le mode MultiTenant , reportez-vous au point 3 sur cette page. Le bloc suivant doit être présent sous la section spec de la ressource ServiceMeshControlPlane :

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

    Pour désactiver la route OpenShift, reportez-vous au point 4 sur cette page.

  3. Vous pouvez utiliser le mode MultiTenant pour le plan de contrôle de service mesh. Ce scénario vous oblige à créer explicitement un rôle de membre de service valide, comme illustré dans l'exemple suivant :

    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. Vous avez également la possibilité de désactiver la route OpenShift. Cependant, ce choix s’accompagne de la responsabilité supplémentaire de créer manuellement une route pour le nom de domaine complet. Dans le cas d'une création de routage manuelle, consultez l'exemple suivant:

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

    La désactivation de la route OpenShift conduira à l’erreur suivante lors de l’exécution des vérifications des prérequis :

    ❌ [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
    
Installation d'une version spécifique d'OpenShift Service Mesh​

Utilisez un fichier YAML pour installer une version spécifique d'OpenShift Service Mesh (OSM). L'exemple de fichier suivant installe la version 2.4.5 d'OSSM :

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 vous prévoyez d'installer une version d'OSSM différente, remplacez servicemeshoperator.v2.4.5 par la valeur correcte pour votre version dans le fichier YAML. Par exemple, pour installer OSM version 2.5.0, saisissez servicemeshoperator.v2.5.0.

Pour installer OSM, exécutez la commande suivante :

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

Remplacez l'espace réservé <yaml> dans l'exemple de commande par le nom de votre fichier YAML.

Important :

Après avoir installé OSSM, vous devez approuver manuellement l’installation.

Dans la console OpenShift, accédez à Opérateurs > Opérateurs installés > Servicemetecherator > 1 requiert l'approbation > Aperçu du plan d'installation > Approuver.

Installation d'OpenShift Service Mesh 3.x​

Avant d'installer OpenShift Service Mesh 3.x, assurez-vous que :

  • Vos versions OpenShift Service Mesh et Automation Suite sont compatibles. Pour connaître les combinaisons prises en charge, consultez la section Matrice de compatibilité.
  • Vous disposez des autorisations d'administrateur du cluster OpenShift.
  • Vous pouvez accéder à la console Web OpenShift.
  • Vous avez le nom de domaine (FQDN) utilisé pour le routage Automation Suite.
  • La CLI OpenShift CLI (oc) est installée sur votre station de travail.

Une configuration OpenShift Service Mesh 3.x complète pour Automation Suite repose sur les composants suivants. L'opérateur Service Mesh ne les enregistre pas tous automatiquement, alors assurez-vous que chacun est présent dans le cluster avant d'installer Automation Suite:

  • Opérateur de Service Mesh : gère le cycle de vie du service Mesh. Vous l'installez depuis OperatorHub.
  • Plan de contrôle Istio : fournit la fonctionnalité principale du plan de contrôle et du plan de données. L'opérateur l'enregistre après avoir créé la ressource Istio.
  • Plug-in Istio CNI : configure et applique les règles de mise en réseau Mesh. L'opérateur l'enregistre après avoir créé la ressource IstioCNI.
  • Entrée de la passerelle : expose les applications Automation Suite au trafic externe. Vous devez le déployer vous-même; l'opérateur ne le crée pas automatiquement.
  • Routes : fournissez des points d’entrée pour les composants Automation Suite et le point de terminaison de validation. Vous devez créer ces objets OpenShift Route, comme décrit dans les étapes ci-dessous.

Pour installer OpenShift Service Mesh 3.x, suivez les instructions d'installation de l'opérateur d'OpoperHub à l'aide de la console Web OpenShift. Pour de plus amples informations, consultez la documentation OpenShift Service Mesh

Assurez-vous également de suivre les étapes suivantes :

  1. Installez l'opérateur Service Mesh à partir d'operHub en suivant les instructions fournies dans la documentation OpenShift Service Mesh.

  2. Assurez-vous que la passerelle d’entrée inclut les libellés corrects. Les libellés doivent correspondre aux valeurs que vous transmettez en tant que sélecteur de passerelle dans le fichier input.json . Pour vérifier le libellé de la passerelle d'entrée, exécutez :

    oc get pods -l istio=ingressgateway -n <istio-system>
    oc get pods -l istio=ingressgateway -n <istio-system>
    
  3. Créez les routages requis en utilisant un fichier YAML. Le fichier YAML doit définir des routages pour le point de terminaison principal d'Automation Suite, le point de terminaison des applications, le point de terminaison Insights et le point de terminaison de validation. Pour de plus amples informations, consultez les exemples suivants :

    • Point de terminaison d'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
      
    • Point de terminaison d'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
      
    • Point de terminaison d'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
      
    • point de terminaison de validation :
      ---
      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
      

    Cette route est requise pour l’exécution de PreReq. S'il est manquant, OpenShift peut renvoyer l'erreur suivante :

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

  4. Appliquer les définitions de route :

    oc apply -f routes.yaml
    oc apply -f routes.yaml
    
  5. Vérifiez que les routages ont été créés avec succès :

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

    Vous devriez voir les routages suivants :

    • uipath-route-https
    • uipath-route-apps
    • uipath-route-insights
    • istio-validation-route
  6. Si votre Istio CRM configure meshConfig.discoverySelectors, labellisez chaque espace de noms Automation Suite pour correspondre à la valeur du sélecteur. Par exemple, si le sélecteur est istio-discovery=enabled:

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

    Sans ce libellé, istod ne peut pas reconnaître l'espace de noms en tant que membre de la zone de dessin ou écrire la variable istio-ca-root-cert ConfigMap à l'intérieur. Répétez l'opération pour <uipath>-installer, <uipath>-check, <uipath>-argocd et tout autre espace de noms Automation Suite.

Avertissement :

La route de validation est requise. Si la route est manquante, les vérifications des prérequis échouent :

❌ [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
Migration d'OpenShift Service Mesh 2.x vers 3.x​

Avant de commencer le processus de migration, assurez-vous que vous avez installé ou effectué la mise à niveau vers une version d’Automation Suite prise en charge. Pour de plus amples informations, consultez la section Matrice de compatibilité.

Pour migrer d'OpenShift Service Mesh 2.x vers 3.x, suivez les étapes fournies dans le guide de migration officiel Red Hat.

Une fois la migration terminée, examinez la procédure d’installation d’OpenShift Service Mesh 3.x pour vous assurer que toutes les étapes de configuration requises, telles que la labellisation de la passerelle, la création de route et la configuration du point de terminaison de validation, sont en place.

Fourniture de la configuration Istio​

Pour fournir la configuration Istio, vous devez définir les paramètres suivants dans le fichier 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"
},

Le tableau suivant décrit les paramètres de configuration d'Istio:

ParamètreValeur (Value)
ingress.gateway_selector.istioIl s'agit du libellé par défaut utilisé en interne par Automation Suite. Cependant, votre environnement peut utiliser un libellé différent pour la passerelle d'entrée Istio en fonction de la configuration du cluster.
La valeur par défaut est ingressgateway.
ingress.ingress_gateway_secretNom de la clé secrète contenant les fichiers de certificat.
La valeur par défaut est istio-ingressgateway-certs.
ingress.namespaceL'espace de noms où vous avez installé le service Mesh.
ingress.istio_gateway_service_name*Nom du service de passerelle d’entrée Istio.
La valeur par défaut est istio-ingressgateway.

* Disponible à partir d'Automation Suite 2.2510.2.

Pour vérifier le libellé utilisé par votre passerelle d'entrée Istio, exécutez la commande suivante:

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

Étape 2 : configuration d'Istio et installation du plug-in WASM pour le routage​

Vue d'ensemble (Overview)​

Important :

Cette étape nécessite des privilèges d'administrateur pour l'installation dans l'espace de noms Istio.

Il existe deux manières d'effectuer l'installation :

  • Option A : si vous ne pouvez pas fournir les autorisations requises par le programme d'installation d'Automation Suite, vous devez effectuer cette étape avant l'installation d'Automation Suite.
  • Option B : lors de l'installation d'Automation Suite. Cette méthode nécessite que le fichier Kubeconfig que vous utilisez lors de l'installation d'Automation Suite dispose des autorisations nécessaires. Pour vérifier les autorisations, reportez-vous à la section Accorder des autorisations d'installation . Si vous pouvez fournir toutes les autorisations nécessaires, ignorez cette étape.

Prérequis​

Avant de configurer Istio et d'installer le plug-in WASM pour le routage, vous devez remplir les conditions préalables suivantes :

  • Utilisez une machine Linux, Windows ou macOS avec accès au serveur d'API OpenShift Kubernetes.

  • Installez le client OpenShift CLI sur votre machine. Pour de plus amples informations, consultez la section OpenShift CLI (oc).

  • Installez Helm 3.14 ou une version plus récente sur la machine à partir de laquelle vous prévoyez d’installer le plug-in WASM et authentifiez-vous Helm auprès de votre registre privé. Pour installer et authentifier Helm, procédez comme suit :

    1. Téléchargez et installez les fichiers binaires Helm sur votre machine. Pour plus de détails, consultez la documentation Helm.

    2. Authentifiez Helm auprès de votre registre en suivant les instructions de la documentation Helm. Vous pouvez également utiliser la commande suivante, en remplaçant les exemples de valeurs par votre URL de registre réelle et vos informations d'identification :

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

Configuration et installation​

Pour configurer Istio et installer le plug-in WASM pour le routage, procédez comme suit :

  1. Créez un imagepullsecret dans l'espace de noms où vous avez installé le service Mesh. Pour créer imagepullsecret, utilisez votre workflow standard ou procédez comme suit :

    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. Créez le certificat Secret dans l'espace de noms <istio-system>. Le nom Secret doit correspondre à la valeur de ingress.ingress_gateway_secret dans votre input.json (la valeur par défaut est istio-ingressgateway-certs) et doit contenir trois clés: tls.crt, tls.key et ca.crt. La clé ca.crt est requise lorsque votre certificat TLS est signé par une autorité de certification privée ou auto-signée.

    Le bloc ingress correspondant dans input.json est transmis comme suit:

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

    Créez le Secret à l'aide de l'une des méthodes suivantes. Remplacez les chemins et les valeurs de certificat d’espace réservé par les vôtres.

    • Utilisation de oc (à partir de fichiers de certificat):
      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>
      
    • À l'aide d'un manifeste YAML (les valeurs sont encodées 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. Créez un fichier de valeurs de paramètre à appliquer lors de l'installation d'Helm de istio-configure. Utilisez l'exemple suivant comme modèle pour le fichier et remplacez les espaces réservés <fqdn>, <pullsecret>, <registry> et <uipath_namespace> par les valeurs appropriées:

    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. Installez istio-configure dans l'espace de noms Istio directement à partir du registre OCI, à l'aide de Helm. Dans la commande suivante, remplacez l'espace réservé <docker-registry> par votre registre, <istio-configure-version> par la version du graphique, <istio_namespace> par l'espace de noms où Istio est installé et <path_to_the_values.yaml> par l'emplacement du fichier de valeurs de paramètres:

    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>
    

    Définissez <istio-configure-version> sur la version qui correspond à votre version d'Automation Suite. Les versions disponibles sont 2.2510.0, 2.2510.1, 2.2510.2 et 2.2510.3. Vous pouvez également trouver la valeur exacte dans le fichier versions.json inclus avec vos packages d'installation téléchargés (l'entrée istio-configure).

  5. Si vous utilisez un registre qui n'est pas signé par une autorité connue, vous devez ajouter la variable d'environnement WASM_INSECURE_REGISTRIES au déploiement istio-ingressgateway , afin qu'Istio puisse extraire l'image utilisée par le plug-in WASM. Pour ajouter la variable d'environnement, exécutez la commande suivante :

    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. Ajoutez istio-configure à la section exclude_components de votre fichier input.json . Pour plus de détails, consultez la section Configuration de input.json.

  7. Vérifiez que la configuration s’est terminée avec succès en vérifiant les pods dans l’espace de noms <istio-system>:

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

    Les pods de plug-in WASM doivent être à l'état Running ou Completed.

Remarque :

Si vous mettez à jour le nom de domaine complet après l'installation, vous devez reconfigurer Istio et le plug-in WASM, sauf si le programme d'installation d'Automation Suite dispose de privilèges d'administration. Pour reconfigurer, vous devez suivre les étapes suivantes :

  1. Mettez à jour le fichier de valeurs de paramètres mentionné à l'étape 3 avec le nouveau nom de domaine complet.
  2. Répétez toutes les étapes de configuration d'Istio et d'installation du plug-in WASM pour le routage.

Facultatif: installation de istio-configure avec un seul script​

Suivez d’abord les étapes 1 et 2 (créez la clé secrète d’extraction de l’image et le certificat Secret). Ensuite, au lieu d'exécuter les étapes 3 et 4 individuellement, vous pouvez remplir les variables en haut du script suivant et l'exécuter. Le script génère le fichier de valeurs de paramètres et installe istio-configure directement à partir du registre OCI en une seule étape. Une fois qu'elle est terminée, passez à l'étape 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

Étape 3 : Configuration d'Istio pour plusieurs installations dans un seul cluster​

Pour configurer Istio pour plusieurs installations d'Automation Suite dans un seul cluster OpenShift, vous devez ajouter plusieurs custom-istio-configure qui contiennent le nom de domaine complet et les ressources pour différentes instances d'Automation Suite. Vous devez remplir les valeurs helm qui correspondent à votre deuxième installation ou à toute installation ultérieure.

Vous devez créer différentes valeurs istio-configure pour chaque installation :

 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

Vous devez remplacer le nom de custom-istio-configure par <namespace>-custom-istio-configure. Elle doit être installée sur l'espace de noms répliqué où la deuxième installation est effectuée.

 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>

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour