Façons de gérer RELIANOID API de Windows #
Gérer et automatiser à distance un RELIANOID Load Balancer peut être réalisé efficacement en utilisant noid-cli, un programme d'interface de ligne de commande basé sur Perl. noid-cli est conçu pour effectuer des appels API directement à partir de la ligne de commande, simplifiant ainsi les tâches telles que la configuration des serveurs virtuels, la surveillance de l'état du système et l'ajustement des paramètres d'équilibrage de charge. Cet outil fournit un ensemble de commandes prédéfinies qui résument la complexité des interactions API, permettant aux administrateurs d'exécuter rapidement des opérations sans avoir besoin de construire manuellement des requêtes HTTP. Sa facilité d'utilisation et son intégration aux scripts shell en font un choix pratique pour la maintenance de routine et les ajustements rapides dans un environnement de terminal.
En revanche, programmer un Script PowerShell au Méthode d'appel-Rest pour gérer les appels API vers le RELIANOID Load Balancer offre plus de flexibilité et de potentiel d’automatisation. Les scripts PowerShell peuvent automatiser des séquences complexes d'interactions API, gérer des données dynamiques et s'intégrer à d'autres services et outils Windows. En utilisant Méthode d'appel-Rest, les administrateurs peuvent créer des scripts d'automatisation personnalisés qui répondent précisément à leurs besoins opérationnels, tels que l'orchestration des procédures de basculement, l'exécution de mises à jour groupées ou l'intégration de la gestion de l'équilibreur de charge dans des flux de travail de gestion système plus larges. Cette méthode exploite toute la puissance des capacités de script de PowerShell, notamment la gestion des erreurs, la journalisation et la manipulation avancée des données, ce qui la rend idéale pour les tâches d'automatisation et les scénarios d'intégration sophistiqués.
Cet article décrira les appels d'API à l'aide de la méthode Powershell.
Utiliser Powershell pour effectuer des appels API #
Faire un appel à une API utilisant PowerShell pour automatiser les systèmes implique de tirer parti de Méthode d'appel-Rest applet de commande, qui simplifie l'envoi de requêtes HTTP et HTTPS aux services Web RESTful. Cette applet de commande permet d'interagir avec les API en spécifiant l'URL du point de terminaison, la méthode HTTP (GET, POST, PUT, DELETE), les en-têtes (comme les jetons d'autorisation) et le corps de la demande (généralement au format JSON). Ce faisant, vous pouvez récupérer, créer, mettre à jour ou supprimer des ressources sur le système cible. Les scripts PowerShell peuvent automatiser des tâches répétitives, telles que la gestion des machines virtuelles, la configuration des périphériques réseau ou la récupération des états du système, améliorant ainsi l'efficacité et la cohérence opérationnelles.
Pour commencer, vous définirez généralement le point de terminaison de l’API et toutes les informations d’identification nécessaires. Par exemple, vous pouvez utiliser une authentification de base ou une clé API dans les en-têtes. Ensuite, en fonction du fonctionnement de l'API, vous devrez peut-être préparer une charge utile JSON pour les requêtes POST ou PUT, qui peut être facilement créée et convertie à partir d'objets PowerShell à l'aide de l'outil Convertir en Json applet de commande. Une fois la demande rédigée et envoyée, Méthode d'appel-Rest traite la réponse, que vous pouvez manipuler ou utiliser davantage dans des tâches ultérieures au sein de votre script. Ce processus rationalisé fait de PowerShell un outil puissant pour les administrateurs système et les développeurs souhaitant automatiser et intégrer divers systèmes et services via des API.
Conditions préalables pour activer l'automatisation des API à distance #
Pour effectuer des appels API depuis PowerShell pour gérer RELIANOID Load Balancer, plusieurs prérequis doivent être remplis :
Activation des autorisations API et création d'une clé API #
Tout d'abord, vous devez activer les autorisations API pour le compte utilisateur qui effectuera les appels. Cela implique d'accéder à l'interface graphique Web de l'équilibreur de charge et de naviguer vers Système> Utilisateur. Dans cette section, vous pouvez configurer des comptes d'utilisateurs et attribuer des autorisations API. Créez ou sélectionnez un compte utilisateur et générez une clé API, qui sera utilisée pour authentifier les appels API. Si vous utilisez des utilisateurs de contrôle d'accès basé sur les rôles (RBAC), assurez-vous que leurs rôles incluent les autorisations nécessaires pour interagir avec l'API. Cette clé API est essentielle pour authentifier et autoriser les requêtes API de vos scripts PowerShell.
Pour plus d'informations, veuillez vous référer à cet article https://www.relianoid.com/resources/knowledge-base/system-enterprise-edition-v8-administration-guide/system-user/ .
Identification du point de terminaison de l'API #
Deuxièmement, vous devez identifier le point de terminaison d'API correct pour vous connecter à l'équilibreur de charge. Le point de terminaison de l'API inclut généralement l'URL de base de votre équilibreur de charge suivie de chemins spécifiques pour différentes fonctionnalités. Dans le cas d'une configuration d'équilibreur de charge en cluster, il est crucial d'utiliser une adresse IP partagée pour le point de terminaison de l'API. Cette adresse IP partagée garantit que l'appel d'API est toujours dirigé vers le nœud maître, quel que soit le nœud qui agit actuellement en tant que maître. L'utilisation de l'adresse IP partagée évite les problèmes où l'appel d'API pourrait être effectué vers un nœud de secours, garantissant ainsi que toutes les configurations et opérations sont appliquées de manière cohérente au nœud maître actif.
Exemples d'API Powershell #
L'option PasserCertificateCheck ne pouvait pas être reconnu dans les anciennes versions de Powershell. Si tel est votre cas, veuillez définir cette option au début de votre script Powershell :
[System.Net.ServicePointManager] :: ServerCertificateValidationCallback = { $true }
De plus, il sera nécessaire d’ajouter la ligne suivante dans nos scripts Powershell pour éviter l’erreur «Invoke-RestMethod : La connexion sous-jacente a été fermée : une erreur inattendue s'est produite lors d'une réception" .
[Net.ServicePointManager] :: SecurityProtocol = [Net.SecurityProtocolType] :: Tls -bor [Net.SecurityProtocolType] :: Tls11 -bor [Net.SecurityProtocolType] :: Tls12
Obtenir les détails de la ferme #
Ce script exécute une requête GET pour récupérer des informations sur une batterie de serveurs spécifique dans le RELIANOID Équilibreur de charge.
Pré-requis :
- remplacer avec votre clé API réelle.
- remplacer <RELIANOID_SERVEUR> avec l'adresse réelle du serveur de votre RELIANOID Équilibreur de charge.
- remplacer avec la ferme actuelle.
- Assurez-vous que les autorisations API nécessaires sont activées.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12 # Définir les variables $apiKey = " " $serveur = "RELIANOID_SERVEUR>" $nom_ferme = " " # Définissez l'URL du point de terminaison de l'API $apiUrl = "https://${server}:444/api/v4.0/api.cgi/farms/$farmName" # Effectuez l'appel API à l'aide de Invoke-RestMethod $response = Invoke -RestMethod -Uri $apiUrl -Method Get -Headers @{ "API_KEY" = $apiKey } -SkipCertificateCheck # Afficher la réponse $response
Explication
1. Variables:
$apiKey: Votre clé API.$server: L'adresse de votre RELIANOID Équilibreur de charge.$farmName: Le nom de la ferme sur laquelle vous souhaitez récupérer des informations.
2. URL du point de terminaison de l'API :
$apiUrl: Construit à partir de l'adresse du serveur et du nom de la ferme.
3. Méthode d'appel :
- -Uri
$apiUrl: Spécifie le point de terminaison de l'API. - -Méthode Obtenir: Spécifie la méthode HTTP GET.
- -En-têtes
@{ "API_KEY" = $apiKey }: ajoute la clé API aux en-têtes de requête. - -SkipCertificateCheck: Ignore la validation du certificat SSL (équivalent à -k dans curl). Ceci est utile pour les tests ou lorsque le serveur utilise un certificat auto-signé.
4. Sortie :
La réponse de l'appel API est stockée dans le $response variable puis sortie vers la console.
Veuillez vous référer à l'Apidoc officiel pour avoir plus d'informations sur cet appel https://www.relianoid.com/apidoc/v4.0/#retrieve-farm-by-name
Ajout d'un nouveau backend dans Farm #
Ce script exécute une requête POST pour ajouter un nouveau backend à un service spécifique au sein d'une batterie sur l'équilibreur de charge Relianoid.
Pré-requis :
- remplacer avec votre clé API réelle.
- remplacer <RELIANOID_SERVEUR> avec l'adresse réelle du serveur de votre RELIANOID Équilibreur de charge.
- remplacer avec la ferme actuelle.
- remplacer avec le service HTTP où le backend sera ajouté.
- remplacer avec l'IP du nouveau backend.
- remplacer avec le PORT du nouveau backend.
- Assurez-vous que les autorisations API nécessaires sont activées.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12 # Définir les variables $apiKey = " " $serveur = "RELIANOID_SERVEUR>" $nom_ferme = " " $nomservice = " " # Définir l'URL du point de terminaison de l'API $apiUrl = "https://${server}:444/api/v4.0/api.cgi/farms/$farmName/services/$serviceName/backends" # Définir le corps de la requête $ requestBody = @{ ip = " " port = poids = 1 priorité = 1 } | ConvertTo-Json # Effectuez l'appel API en utilisant Invoke-RestMethod $response = Invoke-RestMethod -Uri $apiUrl -Method Post -Headers @{ "Content-Type" = "application/json" "API_KEY" = $apiKey } -Body $ requestBody -SkipCertificateCheck # Afficher la réponse $response
Explication
1. Variables:
$apiKey: Votre clé API.$server: L'adresse de votre RELIANOID Équilibreur de charge.$farmName: Le nom de la ferme à laquelle vous souhaitez ajouter un nouveau backend.$serviceName: Le nom du service au sein de la ferme où le backend sera ajouté.
2. URL du point de terminaison de l'API :
$apiUrl: Construit à partir de l'adresse du serveur, du nom de la batterie de serveurs et du nom du service.
3. Organe de demande:
$requestBody: contient la charge utile JSON avec les détails du serveur backend. Il est converti au format JSON en utilisant Convertir en Json.
4. Méthode d'appel :
- -Uri
$apiUrl: Spécifie le point de terminaison de l'API. - -Méthode Post: Spécifie la méthode HTTP POST.
- -En-têtes
@{ "Content-Type" = "application/json"; "API_KEY" = $apiKey }: Ajoute le Content-Type et CLÉ API aux en-têtes de requête. - -Corps
$requestBody: Spécifie la charge utile JSON pour la requête POST. - -SkipCertificateCheck: Ignore la validation du certificat SSL (équivalent à -k dans curl). Ceci est utile pour les tests ou lorsque le serveur utilise un certificat auto-signé.
5. Sortie :
La réponse de l'appel API est stockée dans le $response variable puis sortie vers la console.
Veuillez vous référer à l'Apidoc officiel pour avoir plus d'informations sur cet appel https://www.relianoid.com/apidoc/v4.0/#create-a-new-backend
Activer le backend en mode maintenance #
Ce script exécute une requête PUT pour définir un serveur backend en mode maintenance sur le RELIANOID Équilibreur de charge.
Pré-requis :
- remplacer avec votre clé API réelle.
- remplacer <RELIANOID_SERVEUR> avec l'adresse réelle du serveur de votre RELIANOID Équilibreur de charge.
- remplacer avec la ferme actuelle.
- remplacer avec le service HTTP où le backend sera mis en maintenance.
- remplacer avec l'ID du backend pour modifier le mode maintenance.
- Assurez-vous que les autorisations API nécessaires sont activées.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12 # Définir les variables $apiKey = " " $serveur = "RELIANOID_SERVEUR>" $nom_ferme = " " $nomservice = " " $backendId = # Définir l'URL du point de terminaison de l'API $apiUrl = "https://${server}:444/api/v4.0/api.cgi/farms/$farmName/services/$serviceName/backends/$backendId/maintenance" # Définir le corps de la requête $requestBody = @{ action = "maintenance" mode = "drain" } | ConvertTo-Json # Effectuez l'appel API en utilisant Invoke-RestMethod $response = Invoke-RestMethod -Uri $apiUrl -Method Put -Headers @{ "Content-Type" = "application/json" "API_KEY" = $apiKey } -Body $ requestBody -SkipCertificateCheck # Afficher la réponse $response
Explication
1. Variables:
$apiKey: Votre clé API.$server: L'adresse de votre RELIANOID Équilibreur de charge.$farmName: Le nom de la ferme où est ajouté le backend à mettre en maintenance.$serviceName: Le nom du service au sein de la ferme où le backend sera en maintenance.$backendId: L'ID du backend à mettre en mode maintenance.
2. URL du point de terminaison de l'API :
$apiUrl: Construit à partir de l'adresse du serveur, du nom de la batterie de serveurs et du nom du service.
3. Organe de demande:
$requestBody: contient la charge utile JSON avec l'action et le mode permettant de définir le backend en mode maintenance. Il est converti au format JSON en utilisant Convertir en Json.
4. Méthode d'appel :
- -Uri
$apiUrl: Spécifie le point de terminaison de l'API. - -Méthode mise: Spécifie la méthode HTTP PUT.
- -En-têtes
@{ "Content-Type" = "application/json"; "API_KEY" = $apiKey }: Ajoute le Content-Type et CLÉ API aux en-têtes de requête. - -Corps
$requestBody: Spécifie la charge utile JSON pour la requête PUT. - -SkipCertificateCheck: Ignore la validation du certificat SSL (équivalent à -k dans curl). Ceci est utile pour les tests ou lorsque le serveur utilise un certificat auto-signé.
5. Sortie :
La réponse de l'appel API est stockée dans le $response variable puis sortie vers la console.
Veuillez vous référer à l'Apidoc officiel pour avoir plus d'informations sur cet appel https://www.relianoid.com/apidoc/v4.0/#backend-in-maintenance
Documentation supplémentaire sur l'API #
Pour des informations plus détaillées sur les appels API disponibles pour gérer le RELIANOID Load Balancer, vous pouvez vous référer à la documentation officielle de l'API à l'adresse RELIANOID API Documentation. Cette ressource complète fournit des descriptions détaillées de chaque point de terminaison d'API, y compris les méthodes HTTP requises, les paramètres de requête et les formats de réponse.
La documentation est structurée pour vous aider à comprendre comment interagir avec divers aspects de l'équilibreur de charge, tels que la gestion des batteries de serveurs, des services et des backends, ainsi que la surveillance de l'état et des performances du système. Chaque appel API est accompagné d'exemples et d'explications pour vous guider tout au long du processus de rédaction de vos demandes et de traitement des réponses. Il s'agit d'une ressource essentielle pour les administrateurs système et les développeurs souhaitant automatiser et rationaliser leurs tâches de gestion d'équilibreur de charge à l'aide de l'API.