- Notes de publication
- Prérequis
- Installation
- Démarrage
- Projets
- Jeux de données
- Paquets ML
- Pipelines
- Compétences ML
- Journaux ML
- Document Understanding dans AI Fabric
- Guide de dépannage de base
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é.
- 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
- 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.
- Le registre de conteneurs Azure dans le même RG que le cluster
- 1 compte de stockage dans le même RG que le Cluster
- 1 instance Application Insights dans le même RG que le cluster
- SQL Server avec bases de données créées
Cette section fournit un aperçu de haut niveau des étapes, les deux sections suivantes détaillent ce processus.
- L'utilisateur crée un cluster AKS, un registre de conteneurs Azure, 1 compte de stockage, 1 instance application-insights.
-
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 aifabric
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 aifabric - Ensuite, le client se connecte à shell.azure.com, définit l'ID d'abonnement correct - en utilisant "az account set --subscription"
- Shell doit déjà avoir installé kubectl.
- 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.
- Entrez « azure » dans l'entrée de la plate-forme. Tout le reste sera enregistré après cela.
- 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.
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.
- Créez un groupe de ressources dans Azure - vous devez avoir le rôle Propriétaire (Owner) au niveau du groupe de ressources.
- Recherchez les services Kubernetes dans le portail et créez une nouvelle instance d'AKS.
- Sélectionnez le groupe de ressources que vous avez créé à l'étape 1a et donnez un nom de cluster approprié de votre choix.
- Assurez-vous que votre version de Kubernetes est 1.16, 1.17, ou 1.18.
- Sélectionnez la taille du nœud pour les nœuds de travail (taille minimale recommandée Standard_D2_v3 avec 3 nœuds)
- 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) »
- 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.
- 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) »
- Sous l'onglet Balises (Tags), indiquez les balises appropriées selon les besoins.
- Cliquez sur « Examiner + Créer (Review + Create) » et créez le cluster.
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 3
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 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é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
- Recherchez des comptes de stockage dans le portail
- Créez un nouveau compte de stockage
- Sélectionnez le groupe de ressources ci-dessus
- Donnez un nom approprié au compte de stockage
- Conservez le reste des paramètres par défaut. Ajoutez des balises et créez le compte.
Créez 1 instance d'application Insights dans le même RG où AI Fabric publiera ses journaux
- Recherchez « Application Insights » dans le portail
- Créez une nouvelle instance
- Sélectionnez le groupe de ressources ci-dessus
- Donnez un nom approprié à l'instance
- En mode ressource, sélectionnez Classique (Classic)
- Ajoutez des balises et créez.
Si votre cluster AKS est privé, vous devrez suivre des étapes supplémentaires détaillées ici.
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-insights
az account set --subscription <subscription-id>
az extension add --name application-insights
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.gz
wget 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.2
tar -xvf aifabric-installer-v20.10.2.tar.gz
cd ./aifabric-installer-v20.10.2
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
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
Si votre cluster AKS est privé, il existe quelques différences par rapport au processus d'installation ci-dessus.
- Créer 1 MV Ubuntu dans le même réseau que celle du cluster aks
- Installez-y les outils de ligne de commande kubectl, az, helm et jq.
- 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é)
- 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> - Dans la commande bash setup.sh, vous devrez transmettre un autre paramètre, --isPrivate y
- Istio et KotsAdmin seront exposés sur des adresses IP d'équilibreur de charge privé.
- L'indicateur Expose_kots sera ignoré dans ce cas, et le service kotsadmin se verra attribuer un équilibreur de charge interne
- Comme les adresses IP privées ne peuvent pas avoir de noms DNS publics, créons un certificat auto-signé pour Istio.
- 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-ingressgateway
kubectl -n istio-system get svc istio-ingressgateway - Vous pourrez utiliser AI Fabric à l'adresse https:///ai-app du réseau privé partout où AKS VNET est accessible.
- 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.
- 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
- Créez une entrée de pools backend avec l'IP privée de l'équilibreur de charge Istio
- 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)
- Téléchargez le certificat AC dans le champ Certificats racines approuvés (Trusted Root Certificate).
- 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.
- 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
- Créez une entrée d'auditeur dans la passerelle avec le port 443, et téléchargez-y ce fichier pfx.
- 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.
- 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.
Prérequis | Remarque |
---|---|
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 obligatoires | Veuillez 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
Prérequis | Remarque |
---|---|
Fonctionnement de l'installation d'Orchestrator 20.10 | Référence ici |
SQL Server 2008 R2 ou supérieur | Ré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 compatible | Référence (Reference) |
Le disque de démarrage doit faire au moins 200 Go | Référence ici |
Sur les nœuds de travail, les disques secondaires d'au moins 500 Go au total doivent être non formatés | Ré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 |
- Prérequis
- Présentation des étapes d'installation
- Composants installés par One-Installer
- Configuration Infra détaillée
- Création d'un cluster AKS
- Créer des pools de nœuds
- Créer un compte de stockage
- Créer une instance Application Insights
- Étapes d’installation d’AI Fabric
- Ouvrir Shell
- Télécharger le programme d'installation
- Lancer l'installation
- Cluster privé AKS
- Explication détaillée sur la configuration d'Azure Gateway
- Provisionnement de l'infrastructure
- Exigences avant de procéder