- Démarrage
- Configuration requise pour le réseau
- Exigences et installation d'un nœud unique
- Exigences et installation d'un multi-nœuds
- Post-installation
- Accéder à AI Center
- Enregistrer un locataire AI Center
- Mise à jour des certificats Orchestrator et Identity Server
- Redimensionner le PVC
- Ajouter un nouveau nœud au cluster
- Installation hors ligne des paquets ML
- Configuration du cluster
- Configuration du nom complet de domaine après l'installation
- Sauvegarder et restaurer le cluster
- Utilisation de la pile de surveillance
- Configurer une authentification Kerberos
- Enregistrement d'un GPU
- Utilisation du fichier de configuration
- À propos du fichier de configuration
- Planification des nœuds
- Migration et mise à niveau
- Guide de dépannage de base
AI Center - Guide d'installation
À propos du fichier de configuration
cluster_config.json
définit les paramètres, configurations et préférences appliqués aux services UiPath. Vous devez mettre à jour ce fichier si vous souhaitez modifier les valeurs par défaut et utiliser une configuration avancée pour votre cluster.
cluster_config.json
, vous pouvez utiliser :
- un éditeur de texte Linux, tel que vi ou GNU nano, directement sur la machine Linux via SSH (par exemple, commande :
vi cluster_config.json
) ; - votre éditeur de texte préféré, puis copier-coller le fichier sur la machine.
cluster_config.json
, utilisez true
ou false
pour l'indicateur enabled
.
Paramètres obligatoires | Description |
---|---|
fqdn | Nom de domaine de l'équilibreur de charge (multi-nœuds) ou de la machine (nœud unique). |
fixed_rke_address | Adresse fixe utilisée pour équilibrer la charge de l'enregistrement des nœuds et des requêtes de l'API kube. Il doit s'agir du nom de domaine complet si l'équilibreur de charge est configuré comme recommandé. Sinon, nom de domaine complet du 1er nœud de serveur. Référez-vous à Configurer l'équilibreur de charge.
Peut être l'IP/le FQDN du premier serveur rke2 de votre configuration. |
multinode | Définissez sur true si vous optez pour une installation multi-nœuds
|
admin_username | Le nom d'utilisateur que vous souhaitez définir comme administrateur (par exemple : admin) pour l'organisation hôte. |
admin_password | Le mot de passe de l'administrateur du locataire hôte à définir. |
rke_token | Utilisez un GUID nouvellement généré ici. Il s'agit d'une clé secrète pré-partagée, spécifique au cluster. Elle est nécessaire pour tous les nœuds rejoignant le cluster. |
profile | Définit le profil de l'installation. Les profils disponibles sont :
|
gpu_support | true ou false : active ou désactive la prise en charge du GPU pour le cluster.
Définissez sur « true » si vous avez des nœuds d'agent avec des GPU. Par défaut, il est défini sur « false » |
infra.docker_registry.username | Le nom d'utilisateur que vous souhaitez définir pour l'installation du registre docker. |
infra.docker_registry.password | Le mot de passe que vous souhaitez définir pour l'installation du registre docker. |
Paramètres facultatifs | Description |
---|---|
telemetry_optout | true ou false - utilisé pour refuser le renvoi de la télémétrie à UiPath. Il est défini sur false par défaut.
Si vous souhaitez le désactiver, définissez-le sur
true .
|
Paramètres d'AI Center | Description |
---|---|
sql_connection_str | Le nom de la connexion SQL. |
orchestrator_url | L'adresse URL d'Orchestrator. |
identity_server_url | L'adresse URL d'Identity Server. |
orchestrator_cert_file_path | Chemin d'accès absolu au fichier de certificat Orchestrator. |
identity_cert_file_path | Chemin d'accès absolu au fichier de certificat Identity Server. |
identity_access_token | Le jeton d'accès extrait d'Identity Server. |
Veuillez vous référer aux documents préalables pour obtenir le certificat :
Si aucun certificat n'est fourni au moment de l'installation, le programme d'installation crée un certificat auto-émis et le configure dans le cluster. La validité du certificat est de 90 jours.
Dans les installations multi-nœuds, un certificat est requis uniquement sur le premier nœud.
pwd
pour obtenir le chemin du répertoire où les fichiers sont placés et ajoutez le nom du fichier de certificat dans le cluster_config.json
.
Dans les installations multi-nœuds, un certificat est requis uniquement sur le premier nœud.
Paramètre | Description |
---|---|
server_certificate.ca_cert_file | Chemin absolu vers le certificat de l'autorité de certification. Ce certificat est l'autorité qui signe le certificat TLS. En cas de certificat auto-signé, le rootCA.crt est créé dans les étapes précédentes. Laissez vide si vous souhaitez que le programme d'installation le génère.
|
server_certificate.tls_cert_file | Chemin absolu vers le certificat TLS (server.crt pour le certificat auto-signé créé lors des étapes précédentes). Laissez vide si vous souhaitez que le programme d'installation le génère.
|
server_certificate.tls_key_file | Chemin d'accès absolu à la clé de certificat (server.key pour le certificat auto-signé créé lors des étapes précédentes). Laissez vide si vous souhaitez que le programme d'installation le génère.
|
additional_ca_certs | Chemin d'accès absolu au fichier contenant les certificats CA supplémentaires que tous les services exécutés dans le cadre d'Automation Suite doivent approuver. Tous les certificats du fichier doivent être dans un format PEM valide.
Par exemple, vous devez fournir le fichier contenant le certificat de l'autorité de certification du serveur SQL si le certificat n'est pas émis par une autorité de certification publique. |
Si vous souhaitez que le programme d'installation crée les bases de données, veuillez remplir les champs suivants
Paramètre | Description |
---|---|
sql.create_db | Régler sur true .
|
sql.server_url | Nom de domaine complet du serveur SQL, où vous souhaitez que le programme d'installation configure la base de données |
sql.port | Numéro de port sur lequel une instance de base de données doit être hébergée dans le serveur SQL |
sql.username | Nom d'utilisateur / ID d'utilisateur pour se connecter au serveur SQL. |
sql.password | Mot de passe du nom d'utilisateur fourni précédemment pour se connecter au serveur SQL. |
dbcreator
. Cela leur accorde l'autorisation de créer la base de données dans SQL Server. Sinon, l'installation échoue.
La connexion ODBC ne prend pas en charge les noms d'utilisateur contenant des caractères spéciaux. Pour les noms d'utilisateur de base de données pour AI Center et Document Understanding, utilisez uniquement des lettres majuscules et minuscules.
Si vous fournissez la base de données, nous avons besoin de chaînes de connexion SQL pour chaque base de données. Les formats de chaîne de connexion SQL suivants sont pris en charge.
Paramètre | Description |
---|---|
sql_connection_string_template | Chaîne de connexion ADO.NET complète où le nom du catalogue est défini sur DB_NAME_PLACEHOLDER. Le programme d'installation remplacera cet espace réservé par les noms de base de données par défaut pour les services de la suite installée. |
sql_connection_string_template_jdbc | Chaîne de connexion ODBC complète où le nom de la base de données est défini sur DB_NAME_PLACEHOLDER. Le programme d'installation remplacera cet espace réservé par les noms de base de données par défaut pour les services de la suite installée. |
sql_connection_string_template_odbc | Chaîne de connexion ODBC complète où le nom de la base de données est défini sur DB_NAME_PLACEHOLDER. Le programme d'installation remplacera cet espace réservé par les noms de base de données par défaut pour les services de la suite installée.
Ce paramètre est utilisé par Document Understanding. |
Si vous définissez manuellement les chaînes de connexion dans le fichier de configuration, vous pouvez échapper les mots de passe SQL, JDBC ou ODBC comme suit :
- pour SQL : ajoutez
'
au début et à la fin du mot de passe, et doublez tout autre'
. - pour JDBC/ODBC : ajoutez
{
au début du mot de passe et}
à la fin, et doublez tout autre}
.
ql_connection_string_template exemple
Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net:1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;
Server=tcp:sfdev1804627-c83f074b-sql.database.windows.net:1433;Initial Catalog=DB_NAME_PLACEHOLDER;Persist Security Info=False;User Id=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;Password=***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Max Pool Size=100;
exemple ql_connection_string_template_jdbc
jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"
jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net:1433;database=DB_NAME_PLACEHOLDER;user=testadmin;password=***;encrypt=true;trustServerCertificate=false;Connection Timeout=30;hostNameInCertificate=sfdev1804627-c83f074b-sql.database.windows.net"
exemple sql_connection_string_template_odbc</summary>
SERVER=sfdev1804627-c83f074b-sql.database.windows.net,1433;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=***;MultipleActiveResultSets=False;Encrypt=YES;TrustServerCertificate=NO;Connection Timeout=30;"
SERVER=sfdev1804627-c83f074b-sql.database.windows.net,1433;DATABASE=DB_NAME_PLACEHOLDER;DRIVER={ODBC Driver 17 for SQL Server};UID=testadmin;PWD=***;MultipleActiveResultSets=False;Encrypt=YES;TrustServerCertificate=NO;Connection Timeout=30;"
aicenter
suivant :
Paramètre | Description |
---|---|
aicenter.ai_appmanager.sql_connection_str | Chaîne de connexion JDBC du gestionnaire d'applications AI (voir ci-dessous pour le format JDBC) |
Exemple de chaîne de connexion AI Center
"aicenter": {
"enabled": true,
"sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;instanceName=instance;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
}
"aicenter": {
"enabled": true,
"sql_connection_str": "jdbc:sqlserver://sfdev1804627-c83f074b-sql.database.windows.net;instanceName=instance;database=aicenter;user=testadmin@sfdev1804627-c83f074b-sql.database.windows.net;password=TFgID_9GsE7_P@srCQp0WemXX_euHQZJ"
}
Exemple de chaîne de connexion DU
"documentunderstanding":
{
"datamanager": {
"sql_connection_str": "mssql+pyodbc://testadmin:myPassword@mydev-sql.database.windows.net:1433/datamanager?driver=ODBC+Driver+17+for+SQL+Server",
}
"documentunderstanding":
{
"datamanager": {
"sql_connection_str": "mssql+pyodbc://testadmin:myPassword@mydev-sql.database.windows.net:1433/datamanager?driver=ODBC+Driver+17+for+SQL+Server",
}
db_owner
pour toutes les bases de données. Si les restrictions de sécurité n'autorisent pas l'utilisation de db_owner
, le compte SQL doit avoir les rôles et autorisations suivants sur toutes les bases de données :
db_ddladmin
db_datawriter
db_datareader
- Autorisation
EXECUTE
sur le schéma dbo
Pour enregistrer suffisamment de ressources pour la surveillance (voir Utilisation de la pile de surveillance), vous devez tenir compte du nombre de vCPU dans le cluster et de la quantité de rétention de métriques souhaitée. Voir ci-dessous pour savoir comment définir les configurations de ressources de surveillance suivantes.
Le tableau suivant décrit les détails du champ de surveillance :
Paramètre | Description |
---|---|
prometheus_retention | En jours.
Il s'agit du nombre de jours pendant lesquels les métriques seront conservées à des fins de visualisation dans Grafana et de requête manuelle via la console Prometheus. La valeur par défaut est
7 .
|
prometheus_storage_size |
En Go. Quantité d'espace de stockage à réserver par réplica Prometheus. Une bonne règle de base consiste à définir cette valeur sur :
Exemple : Si vous définissez
prometheus_retention sur 14 jours et que votre cluster comporte 80 cœurs répartis sur 5 machines, cela devient :
La valeur par défaut est
45 et ne doit pas être inférieure.
Si Prometheus commence à manquer d'espace de stockage, une alerte sera déclenchée avec des instructions de correction spécifiques. |
prometheus_memory_limit |
En Mo. Quantité de mémoire à laquelle limiter chaque réplica Prometheus. Une bonne règle de base consiste à définir cette valeur sur :
Exemple : Si vous avez défini
prometheus_retention sur 14 jours et que votre cluster comporte 80 cœurs répartis sur 5 machines, cela devient :
La valeur par défaut est
3200 pour le mode d'évaluation à nœud unique et 6000 pour le mode de production multi-nœuds compatible haute disponibilité ; elle ne doit jamais être inférieure.
Si Prometheus commence à manquer de mémoire, une alerte sera déclenchée avec des instructions de correction spécifiques. Voir ici. |
Exemple :
"monitoring": {
"prometheus_retention": 14,
"prometheus_memory_limit": 16000,
"prometheus_storage_size": 104
}
"monitoring": {
"prometheus_retention": 14,
"prometheus_memory_limit": 16000,
"prometheus_storage_size": 104
}
cluster_config.json
lors de l'étape de configuration avancée.
Vous devez ajouter les éléments suivants au fichier de configuration à l'aide de vim ou de votre éditeur préféré dans le fichier de configuration :
"proxy": {
"enabled": "true",
"http_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"https_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"no_proxy": "<Comma separated list of ips that should not got though proxy server>"
}
"proxy": {
"enabled": "true",
"http_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"https_proxy": "http://<PROXY-SERVER-IP>:<PROXY-PORT>",
"no_proxy": "<Comma separated list of ips that should not got though proxy server>"
}
- Autorisez le port
30070
sur la machine virtuelle pour les appels entrants et sortants.Paramètres obligatoires Description enabled
Utilisez true
oufalse
pour activer ou désactiver les paramètres de proxy.http_proxy
Utilisé pour acheminer les requêtes sortantes HTTP à partir du cluster. Il doit s'agir du nom de domaine complet et du port du serveur proxy. https_proxy
Utilisé pour acheminer les requêtes sortantes HTTPS à partir du cluster. Il doit s'agir du nom de domaine complet et du port du serveur proxy. no_proxy
Liste d'hôtes, d'adresses IP ou de plages d'adresses IP au format CIDR séparée par des virgules et que vous ne souhaitez pas acheminer via le serveur proxy. Il doit s'agir d'une plage de sous-réseaux privés, d'un hôte de serveur sql, d'une adresse de serveur nommée, d'une adresse de serveur de métadonnées : *.<fqdn>,<fixed_rke_address>:9345,<fixed_rke2_address>:6443
.fqdn
- le nom de domaine complet du cluster défini danscluster_config.json
fixed_rke_address
- lefixed_rke_address
défini danscluster_config.json
named server address
- l'adresse IP de/etc/resolv.conf
private_subnet_ip
: le réseau virtuel du clustersql server host
- l'hôte du serveur sqlmetadata server address
- l'adresse IP169.254.169.254
utilisée pour récupérer les métadonnées de la machine par les services cloud tels qu'Azure et AWS
Facultatif : Activation de la résilience aux échecs locaux dans un cluster en mode production multi-nœuds compatible haute disponibilité
Pour activer la résilience aux défaillances zonales dans un cluster multi-nœuds, procédez comme suit :
- Assurez-vous que les nœuds sont répartis uniformément sur trois zones de disponibilité. Pour un serveur bare metal ou une machine virtuelle fournis par n'importe quel fournisseur à l'exception d'AWS, Azure ou GCP, les métadonnées de zone doivent être fournies via le fichier de configuration à
/etc/default/k8s-node-labels
sur chaque machine au format suivant.NODE_REGION_LABEL=<REGION_NAME> NODE_ZONE_LABEL=<ZONE_NAME> cat > /etc/default/k8s-node-labels <<EOF EXTRA_K8S_NODE_LABELS="topology.kubernetes.io/region=$NODE_REGION_LABEL,topology.kubernetes.io/zone=${NODE_ZONE_LABEL}" EOF
NODE_REGION_LABEL=<REGION_NAME> NODE_ZONE_LABEL=<ZONE_NAME> cat > /etc/default/k8s-node-labels <<EOF EXTRA_K8S_NODE_LABELS="topology.kubernetes.io/region=$NODE_REGION_LABEL,topology.kubernetes.io/zone=${NODE_ZONE_LABEL}" EOF - Mettez à jour le fichier
cluster_config.json
lors de l'étape de configuration avancée.
cluster_config.json
à l'aide de l'assistant d'installation interactif, quittez l'étape de configuration avancée et ajoutez ce qui suit au fichier de configuration à l'aide de vim ou de votre éditeur préféré :
"zone_resilience": true
"zone_resilience": true
Paramètres obligatoires | Description |
---|---|
zone_resilience | Utilisez true ou false pour activer ou désactiver la résilience aux défaillances de zone.
|
/etc/resolv.conf
. Kubernetes ne fonctionne pas avec les résolveurs DNS locaux (127.0.0.1 ou 127.0.0.0/8) : si vous avez des serveurs de noms de ce type configurés dans le fichier /etc/resolv.conf
, vous devez transmettre une référence de fichier avec les bonnes entrées de serveur de noms accessibles de n'importe où sur la VM dans le paramètre .infra.custom_dns_resolver
dans cluster_config.json
.
Pour plus de détails sur une limitation connue, consultez la documentation de Kubernetes.
Paramètre facultatif | Description |
---|---|
.infra.custom_dns_resolver | Chemin d'accès au fichier avec les entrées correctes du serveur de noms accessibles depuis n'importe où sur la machine virtuelle. Ces entrées du serveur de noms ne doivent pas provenir de 127.0.0.0/8 .
|
- Configuration générale
- Paramétrage des certificats
- Configuration de la base de données
- Créer automatiquement les bases de données nécessaires
- Fournissez votre propre base de données
- Configuration de la surveillance
- Facultatif : ajouter une configuration de proxy
- Facultatif : Activation de la résilience aux échecs locaux dans un cluster en mode production multi-nœuds compatible haute disponibilité
- Facultatif : Transmettre le fichier personnalisé resolv.conf