AI Center
2020.10
False
Image de fond de la bannière
AI Center
Dernière mise à jour 11 mars 2024

1. Enregistrer un cluster Azure AKS

Cette section détaille les étapes à suivre lors de l'enregistrement d'un cluster AKS pour exécuter AI Fabric dans une configuration multi-nœuds à haute disponibilité.

Remarque :
  • L'installation d'AI Fabric est actuellement prise en charge sur un tout nouveau cluster AKS dédié. Un cluster partagé avec des politiques/restrictions inconnues peut nécessiter une solution de contournement supplémentaire et n'est pas officiellement pris en charge.
  • Si votre utilisation d'AI Fabric est très fréquente et qu'une mise à l'échelle horizontale est requise pour prendre en charge une grande variété de cas d'utilisation d'IA/ML dans votre organisation
  • Vous avez besoin d'une solution à haute disponibilité déployée sur plusieurs zones
  • Exige plusieurs réplicas pour les services de base et les services ML pour la reprise après sinistre ainsi que pour la mise à l'échelle
  • Cluster Kubernetes à haute disponibilité géré par Azure
  • Registre de conteneurs à haute disponibilité géré par Azure
  • Stockage cloud à haute disponibilité géré par Azure
  • Horizontal Pod Autoscaler, qui met à l'échelle le nombre de pods pour les services de base en fonction de la charge de travail
  • Kubernetes Cluster Autoscaler, qui augmente automatiquement le nombre de nœuds dans le cluster AKS en fonction de la demande pour les pools de nœuds processeur et GPU
  • Rejets de GPU pour s'assurer que les ressources GPU sont utilisées aux fins souhaitées
  • Les certificats sont enregistrés et gérés via Cert Manager

Prérequis

  1. Cluster AKS avec au moins 2 pools de nœuds. Au moins 1 pool de nœuds avec des nœuds de type GPU et des rejets appropriés.
  2. Le registre de conteneurs Azure dans le même RG que le cluster
  3. 1 compte de stockage dans le même RG que le Cluster
  4. 1 instance Application Insights dans le même RG que le cluster
  5. SQL Server avec bases de données créées

Présentation des étapes d'installation

Cette section fournit un aperçu de haut niveau des étapes, les deux sections suivantes détaillent ce processus.

  1. L'utilisateur crée un cluster AKS, un registre de conteneurs Azure, 1 compte de stockage, 1 instance application-insights.
  2. Oneinstaller prendra les éléments suivants comme entrée :

    AKS Cluster name
    AKS Cluster Resource Group
    AKS Worker Resource Group
    ACR Endpoint
    ACR Name (Username)
    ACR Password
    Storage Account Name
    Storage Account Key
    Application Insights Key
    Flag to indicate whether to expose kotsadm service or not
    DNS Prefix Name for aifabricAKS Cluster name
    AKS Cluster Resource Group
    AKS Worker Resource Group
    ACR Endpoint
    ACR Name (Username)
    ACR Password
    Storage Account Name
    Storage Account Key
    Application Insights Key
    Flag to indicate whether to expose kotsadm service or not
    DNS Prefix Name for aifabric
  3. Ensuite, le client se connecte à shell.azure.com, définit l'ID d'abonnement correct - en utilisant "az account set --subscription"
  4. Shell doit déjà avoir installé kubectl.
  5. Copiez ensuite le bundle one-installer dans le shell, décompressez-le et exécutez bash setup.sh ; les valeurs ci-dessus peuvent être transmises via la ligne de commande ou si elles ne sont pas transmises via la ligne de commande, notre programme d'installation les demandera à nouveau.
  6. Entrez « azure » dans l'entrée de la plate-forme. Tout le reste sera enregistré après cela.

Composants installés par One-Installer

  • Application Kotsadmin et kots dans l'espace de noms aifabric
  • Installation d'Istio dans l'espace de noms istio-system
  • Création des conteneurs dans le compte de stockage fourni par ces derniers (équivalent des compartiments)
  • Application de la politique CORS sur le compte de stockage
  • Attribution du préfixe DNS fourni à l'adresse IP publique de la passerelle istio
  • Installation de Cert Manager dans l'espace de noms cert-manager
  • Installation de Velero (dans l'espace de noms velero), création d'une sauvegarde et planification de sauvegardes régulières.

Configuration Infra détaillée

Création d'un cluster AKS

Ignorez cette étape si vous avez déjà installé un cluster AKS. La version de Kubernetes doit être 1.16, 1.17, ou 1.18. Les autres versions ne sont pas prises en charge actuellement.

  1. Créez un groupe de ressources dans Azure - vous devez avoir le rôle Propriétaire (Owner) au niveau du groupe de ressources.
  2. Recherchez les services Kubernetes dans le portail et créez une nouvelle instance d'AKS.
  3. Sélectionnez le groupe de ressources que vous avez créé à l'étape 1a et donnez un nom de cluster approprié de votre choix.
  4. Assurez-vous que votre version de Kubernetes est 1.16, 1.17, ou 1.18.
  5. Sélectionnez la taille du nœud pour les nœuds de travail (taille minimale recommandée Standard_D2_v3 avec 3 nœuds)
  6. Sous l'onglet Authentification (Authentication) -
    • Méthodes d'authentification, sélectionnez « Identité gérée attribuée par le système (System-assigned managed identity) »
  7. Sous l'onglet Mise en réseau (Networking) -
    • Sélectionnez « Azure CNI » comme « Configuration réseau (“Network Configuration) »
    • Sélectionnez Azure comme « Politique réseau »
    • Gardez les autres champs identiques.
  8. Sous l'onglet Intégrations (Integrations) -
    • Si vous avez un registre de conteneurs dans le même groupe de ressources, sélectionnez-le, il sera utilisé pour transmettre les images Docker créées au moment de l'exécution.
    • Ou sélectionnez Créer nouveau (Create New) > Donner un nom de registre approprié (Give a suitable registry name) > Sélectionnez Activer (Enable) pour « Utilisateur administrateur (Admin User) »
  9. Sous l'onglet Balises (Tags), indiquez les balises appropriées selon les besoins.
  10. Cliquez sur « Examiner + Créer (Review + Create) » et créez le cluster.

Créer des pools de nœuds

AI Center a besoin d'au moins 2 NodePools créés dans votre cluster ; 1 est créé lorsque vous avez créé le cluster, et vous devrez également en créer un autre. 1 de ces pools de nœuds doit être composé de nœuds connectés à des GPU. Nous identifions si un tel pool de nœuds existe ou non en utilisant les Rejets (Taints) sur le pool de nœuds.

Nous vérifions ce rejet nvidia.com/gpu=present:NoSchedule

Pour créer un NodePool avec ce rejet, vous pouvez utiliser la commande ci-dessous (exemple)

az aks nodepool add --name gpunodepool \)\)
      --enable-cluster-autoscaler \)\)
      --resource-group ${RESOURCEGROUP} \)\)
      --cluster-name ${AKSCLUSTERNAME} \)\)
      --node-vm-size Standard_NC6 \)\)
      --node-taints nvidia.com/gpu=present:NoSchedule \)\)
      --labels accelerator=nvidia \)\)
      --node-count 0 \)\)
      --min-count 0 \)\)
      --max-count 3az aks nodepool add --name gpunodepool \)\)
      --enable-cluster-autoscaler \)\)
      --resource-group ${RESOURCEGROUP} \)\)
      --cluster-name ${AKSCLUSTERNAME} \)\)
      --node-vm-size Standard_NC6 \)\)
      --node-taints nvidia.com/gpu=present:NoSchedule \)\)
      --labels accelerator=nvidia \)\)
      --node-count 0 \)\)
      --min-count 0 \)\)
      --max-count 3

--node-vm-size - Vous pouvez modifier en fonction du type de nœud que vous souhaitez utiliser pour le GPU. Vérifiez ici les tailles de machines virtuelles GPU prises en charge dans Azure.

Créer un compte de stockage

Créez un compte de stockage dans le même groupe de ressources où votre cluster est déployé. Nous utiliserons ce compte de stockage pour créer des conteneurs pour stocker les fichiers liés à AI Fabric

  1. Recherchez des comptes de stockage dans le portail
  2. Créez un nouveau compte de stockage
  3. Sélectionnez le groupe de ressources ci-dessus
  4. Donnez un nom approprié au compte de stockage
  5. Conservez le reste des paramètres par défaut. Ajoutez des balises et créez le compte.

Créer une instance Application Insights

Créez 1 instance d'application Insights dans le même RG où AI Fabric publiera ses journaux

  1. Recherchez « Application Insights » dans le portail
  2. Créez une nouvelle instance
  3. Sélectionnez le groupe de ressources ci-dessus
  4. Donnez un nom approprié à l'instance
  5. En mode ressource, sélectionnez Classique (Classic)
  6. Ajoutez des balises et créez.

Étapes d’installation d’AI Fabric

Si votre cluster AKS est privé, vous devrez suivre des étapes supplémentaires détaillées ici.

Ouvrir Shell

Une fois que l'infra ci-dessus est configurée, ouvrez shell.azure.com et définissez l'abonnement actuel sur celui où votre RG est présent, à l'aide de la commande suivante -

az account set --subscription <subscription-id>
az extension add --name application-insightsaz account set --subscription <subscription-id>
az extension add --name application-insights

Télécharger le programme d'installation

La première étape consiste à télécharger le fichier zippé du programme d'installation ici et à le déplacer vers le serveur AI Center. Vous pouvez également le télécharger directement depuis la machine en utilisant la commande suivante

wget https://download.uipath.com/aifabric/online-installer/v2020.10.2/aifabric-installer-v20.10.2.tar.gzwget https://download.uipath.com/aifabric/online-installer/v2020.10.2/aifabric-installer-v20.10.2.tar.gz

Ensuite, décompressez le fichier et allez dans le dossier principal à l'aide de la commande suivante :

tar -xvf aifabric-installer-v20.10.2.tar.gz
cd ./aifabric-installer-v20.10.2tar -xvf aifabric-installer-v20.10.2.tar.gz
cd ./aifabric-installer-v20.10.2

Lancer l'installation

Exécutez ensuite setup.sh à l'aide de la commande suivante :

bash setup.sh --resourceGroup <YOUR RESOURCE GROUP> --clusterName <YOUR CLUSTER NAME> --exposeKots n --acrHost <YOUR CONTAINER REGISTRY> --acrUser <YOUR CR USERNAME> --acrKey <YOUR CR KEY> --workerResourcegroup <YOUR WORKER RG> --dnsPrefix aicapp --storageAccountName <YOUR STORAGE ACCOUNT> --storageAccountAccessKey <YOUR STORAGE ACCOUNT ACCESS KEY> --appInsightsKey <YOUR ACCESS KEY> --platform azure --email <YOUR EMAIL>bash setup.sh --resourceGroup <YOUR RESOURCE GROUP> --clusterName <YOUR CLUSTER NAME> --exposeKots n --acrHost <YOUR CONTAINER REGISTRY> --acrUser <YOUR CR USERNAME> --acrKey <YOUR CR KEY> --workerResourcegroup <YOUR WORKER RG> --dnsPrefix aicapp --storageAccountName <YOUR STORAGE ACCOUNT> --storageAccountAccessKey <YOUR STORAGE ACCOUNT ACCESS KEY> --appInsightsKey <YOUR ACCESS KEY> --platform azure --email <YOUR EMAIL>

Veuillez remplacer les valeurs correspondantes en fonction de votre configuration, comme expliqué ci-dessous.

Les paramètres de la commande ci-dessus sont les mêmes que ceux ci-dessous (s'ils ne sont pas transmis dans la commande, l'installateur les redemandera) -

platform → azure

resourceGroup → Groupe de ressources où nous avons créé le cluster et d'autres ressources

workerResourcegroup → AKS crée un autre groupe de ressources avec votre cluster pour maintenir la charge de travail du cluster, veuillez indiquer son nom. Recherchez avec le nom de votre groupe de ressources d'origine dans le portail et vous obtiendrez également l'autre nom du RG, généralement ce nom sera similaire à MC_<rg-name><cluster-name><region>



clusterName → Nom du cluster AKS

exposeKots → Exposer ou non Kotsadmin sur Internet. (y/n)

acrHost → Accédez au registre de conteneurs sélectionné dans AKS et obtenez le nom du serveur comme ci-dessous



acrUser → Il s'agit du nom de registre qui a été créé.

acrKey → Accédez aux clés d'accès sur la page ACR et donnez l'un des mots de passe à partir de là



dnsPrefix → Préfixe DNS à utiliser pour l'entrée AI Fabric (comme aifabric, aim-app, ou ce que vous voulez)

storageAccountName → Nom du compte de stockage qui a été créé dans le même groupe de ressources à l'étape 3

storageAccountAccessKey → accédez à la page du compte de stockage → Clés d'accès (Access Keys). Cliquez sur « Afficher les clés (Show Keys) » et copiez l'une des clés de key1 ou key2, et transmettez-la.



appInsightsKey → Clé de l'application Insights pour celle qui a été créée. (Clé d'instrumentation de la capture d'écran ci-dessous)



email → Identifiant de l'e-mail à utiliser pour notifier les détails de l'expiration du certificat

Important :

L'installation peut échouer avec l'erreur Application Insights introuvable pour la première fois, la réexécution devrait réussir ; sinon, vous pouvez installer l'extension az à l'aide de cette commande et réexécuter l'installation

az extension add --name application-insights

Cluster privé AKS

Si votre cluster AKS est privé, il existe quelques différences par rapport au processus d'installation ci-dessus.

  1. Créer 1 MV Ubuntu dans le même réseau que celle du cluster aks
  2. Installez-y les outils de ligne de commande kubectl, az, helm et jq.
  3. Il y aura un client Azure avec le même nom que votre cluster AKS ; allez demander au réseau virtuel du cluster, et sous les stratégies d'accès, ajoutez ce client en tant que Contributeur (Contributor) (ceci est requis pour la création d'un équilibreur de charge privé)
  4. Connectez-vous à Azure et définissez l'ID d'abonnement correct à partir du cluster AKS
    az login
    az account set --subscription <subscription-id>az login
    az account set --subscription <subscription-id>
  5. Dans la commande bash setup.sh, vous devrez transmettre un autre paramètre, --isPrivate y
  6. Istio et KotsAdmin seront exposés sur des adresses IP d'équilibreur de charge privé.
  7. L'indicateur Expose_kots sera ignoré dans ce cas, et le service kotsadmin se verra attribuer un équilibreur de charge interne
  8. Comme les adresses IP privées ne peuvent pas avoir de noms DNS publics, créons un certificat auto-signé pour Istio.
  9. Sur la page Kotsadmin, Ingress Host sera l'IP privée Istio de la sortie oneinstaller. Vous pouvez la vérifier à tout moment en exécutant et en obtenant l'adresse IP externe -
    kubectl -n istio-system get svc istio-ingressgatewaykubectl -n istio-system get svc istio-ingressgateway
  10. Vous pourrez utiliser AI Fabric à l'adresse https:///ai-app du réseau privé partout où AKS VNET est accessible.
  11. Si vous souhaitez l'exposer sur Internet, vous devrez rediriger le trafic de la passerelle publique vers cette adresse IP interne sur le port 443.
  • Créer une passerelle publique
  • Configurez la passerelle pour envoyer le trafic du port 443 vers <istio-private-ip>:443
  • Utilisez l'adresse IP publique de la passerelle ou une entrée DNS pointant vers cette passerelle en tant qu'hôte d'entrée dans Kotsadmin
  • La configuration de la passerelle nécessite les détails des certificats TLS pour se connecter au serveur principal. Si vous souhaitez mettre à jour vos propres certificats pour AI Fabric, vous pouvez les télécharger depuis kotsadmin -


  • De plus, si votre passerelle nécessite une vérification de l'état, vous pouvez utiliser l'URL /ai-deployer/actuator/health.

Explication détaillée sur la configuration d'Azure Gateway

  1. Créez une instance de passerelle de l'application Azure liée au même réseau virtuel qu'AKS ou à un réseau virtuel appairé avec le réseau virtuel AKS
  2. Créez une entrée de pools backend avec l'IP privée de l'équilibreur de charge Istio
  3. Créez une entrée de paramètres https avec le port 443. Si vous envisagez d'utiliser des certificats auto-signés, suivez la documentation https://docs.microsoft.com/en-us/azure/application-gateway/self-signed-certificates pour créer des certificats serveur et AC auto-signés (lors de la génération du certificat de serveur, sous le champ de nom commun, entrez Istio LB ; également sous le paramètre de nom d'hôte, sélectionnez « Remplacer par un nom de domaine spécifique (Override with specific domain name) » et indiquez l'adresse IP d'Istio LB)


  4. Téléchargez le certificat AC dans le champ Certificats racines approuvés (Trusted Root Certificate).
  5. Téléchargez les certificats de serveur créés ci-dessus dans kotsadmin, utilisez l'adresse IP publique de la passerelle et déclenchez un déploiement depuis kotsadmin.
  6. Générez un fichier pfx à partir du certificat du serveur et de la clé créés ci-dessus, comme -openssl pkcs12 -export -out contoso.pfx -inkey fabrikam.key -in fabrikam.crt
  7. Créez une entrée d'auditeur dans la passerelle avec le port 443, et téléchargez-y ce fichier pfx.
  8. Créez une Règle (Rule) dans la passerelle, en sélectionnant l'auditeur ci-dessus, le paramètre http et la cible du backend.
  9. Créez une entrée d'enquête de santé avec https, placez l'hôte comme adresse IP de l'équilibreur de charge Istio. Indiquez /ai-deployer/actuator/health comme chemin et sélectionnez le paramètre http ci-dessus créé à l'étape 3.


Provisionnement de l'infrastructure

PrérequisRemarque
Groupe de ressources Azure avec accès propriétaire 
Assurez-vous que vous disposez de processeurs virtuels suffisants dans la région où vous avez créé votre groupe de ressources Le nombre minimum de processeurs virtuels disponibles doit être de 16 Exécutez cette commande pour vérifier ce qui est disponible dans la région qui héberge votre groupe de ressources : az vm list-skus --location westeurope --output table | grep virtualMachines
Assurez-vous que vous les types de machines appropriés sont disponibles dans la région où vous avez créé votre groupe de ressources Par défaut, ces machines sont Standard_D8s_v3 & Standard_NC6. Exécutez cette commande pour vérifier ce qui est disponible dans la région qui héberge votre groupe de ressources : az vm list-skus --location westeurope --output table | grep virtualMachines
Veillez à ajouter les balises obligatoiresVeuillez vous assurer que vous savez si des balises obligatoires sont requises pour baliser les ressources au moment du provisionnement dans le cadre de l'abonnement Azure de votre entreprise.
Télécharger le script de provisionnement de l'infrastructure

Téléchargez le dossier aks-arm.zip à partir du référentiel UiPath ai-customer-scripts, c'est-à-dire à partir de cet emplacement : https://github.com/UiPath/ai-customer-scripts/blob/master/platform/aks/aks-arm.zip



Exigences avant de procéder

PrérequisRemarque
Fonctionnement de l'installation d'Orchestrator 20.10Référence ici
SQL Server 2008 R2 ou supérieurRéférence ici
L'authentification SQL Server doit être activée Contactez votre administrateur SQL Server.
Les informations d'identification SQL permettant la création de bases de données et de rôles. Contactez votre administrateur SQL Server.
Avoir un navigateur compatibleRéférence (Reference)
Le disque de démarrage doit faire au moins 200 GoRéférence ici
Sur les nœuds de travail, les disques secondaires d'au moins 500 Go au total doivent être non formatésRéférence ici
Connectez-vous à Orchestrator depuis le nœud maître d'AI Fabric. Vous devez pouvoir vous connecter via un nom de domaine. telnet <Orchestrator-Domain-Name> <port> du nœud AI Fabric UCP doit fonctionner.
Connectez-vous à la base de données à partir du nœud maître AI Fabric.telnet <SQL-Server-IP> <port> du nœud AI Fabric UCP doit fonctionner.
Connexion des machines Robot/Studio au nœud maître AI Fabric. telnet <UCP-Host-IP> 33443 et telnet <UCP-Host-IP> 33390 des robots/machines de studio doivent fonctionner. Autrement dit, le robot/la machine de studio seront clients du serveur sur les ports 33443 et 33390.
Connectez-vous aux points de terminaison requis par le programme d'installation à partir de la machine AI Fabric. La machine AI Fabric ne doit pas avoir bloqué l'accès sortant à ces points de terminaison
Certificat de domaine (pour la machine AI Fabric) émanant d'une autorité AC de confiance. Référence ici
Fichier de licence AI Fabric.Référence ici

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

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Logo Uipath blanc
Confiance et sécurité
© 2005-2024 UiPath. All rights reserved.