Måder at administrere RELIANOID API fra Windows #
Fjernstyring og automatisering af a RELIANOID Load Balancer kan effektivt udføres ved hjælp af noid-cli, et Perl-baseret kommandolinjegrænsefladeprogram. noid-cli er designet til at foretage API-kald direkte fra kommandolinjen, hvilket forenkler opgaver som konfiguration af virtuelle servere, overvågning af systemstatus og justering af indstillinger for load balancing. Dette værktøj leverer et sæt foruddefinerede kommandoer, der abstraherer kompleksiteten af API-interaktioner, så administratorer hurtigt kan udføre handlinger uden at skulle konstruere HTTP-anmodninger manuelt. Dets brugervenlighed og integration med shell-scripting gør det til et praktisk valg til rutinemæssig vedligeholdelse og hurtige justeringer i et terminalmiljø.
På den anden side, programmering af en PowerShell script med Påberåbe-RestMethod at administrere API-kald til RELIANOID Load Balancer tilbyder mere fleksibilitet og automatiseringspotentiale. PowerShell-scripts kan automatisere komplekse sekvenser af API-interaktioner, håndtere dynamiske data og integrere med andre Windows-baserede tjenester og værktøjer. Ved at bruge Påberåbe-RestMethod, kan administratorer udarbejde brugerdefinerede automatiseringsscripts, der præcist opfylder deres operationelle behov, såsom at orkestrere failover-procedurer, udføre masseopdateringer eller integrere load balancer-styring i bredere systemadministrationsworkflows. Denne metode udnytter den fulde kraft af PowerShells scripting-funktioner, herunder fejlhåndtering, logføring og avanceret datamanipulation, hvilket gør den ideel til sofistikerede automatiseringsopgaver og integrationsscenarier.
Denne artikel vil beskrive API-kald ved hjælp af Powershell-metoden.
Brug af Powershell til at foretage API-kald #
At foretage kald til en API ved hjælp af PowerShell for at automatisere systemer involverer udnyttelse af Påberåbe-RestMethod cmdlet, som forenkler afsendelse af HTTP- og HTTPS-anmodninger til RESTful-webtjenester. Denne cmdlet muliggør interaktion med API'er ved at angive slutpunkts-URL'en, HTTP-metoden (GET, POST, PUT, DELETE), headers (som autorisationstokens) og anmodningstekst (typisk i JSON-format). Ved at gøre dette kan du hente, oprette, opdatere eller slette ressourcer på målsystemet. PowerShell-scripts kan automatisere gentagne opgaver, såsom administration af virtuelle maskiner, konfiguration af netværksenheder eller hentning af systemstatusser, hvilket forbedrer driftseffektiviteten og konsistensen.
Til at begynde med definerer du typisk API-slutpunktet og eventuelle nødvendige legitimationsoplysninger. For eksempel kan du bruge grundlæggende godkendelse eller en API-nøgle i headerne. Afhængigt af API-handlingen skal du derefter muligvis forberede en JSON-nyttelast til POST- eller PUT-anmodninger, som nemt kan oprettes og konverteres fra PowerShell-objekter ved hjælp af Konverter til Json cmdlet. Når anmodningen er udarbejdet og sendt, Påberåbe-RestMethod behandler svaret, som du yderligere kan manipulere eller bruge i efterfølgende opgaver i dit script. Denne strømlinede proces gør PowerShell til et effektivt værktøj for systemadministratorer og udviklere, der sigter mod at automatisere og integrere forskellige systemer og tjenester via API'er.
Forudsætninger for at aktivere fjern-API-automatisering #
Sådan foretager du API-kald fra PowerShell for at administrere RELIANOID Load Balancer, skal flere forudsætninger være opfyldt:
Aktivering af API-tilladelser og oprettelse af en API-nøgle #
Først skal du aktivere API-tilladelser for den brugerkonto, der skal foretage opkaldene. Dette indebærer at få adgang til load balancers web-GUI og navigere til System > BrugerI dette afsnit kan du konfigurere brugerkonti og tildele API-tilladelser. Opret eller vælg en brugerkonto, og generer en API-nøgle, som skal bruges til at godkende API-kald. Hvis du bruger rollebaseret adgangskontrol (RBAC)-brugere, skal du sørge for, at deres roller inkluderer de nødvendige tilladelser til at interagere med API'en. Denne API-nøgle er afgørende for at godkende og autorisere API-anmodninger fra dine PowerShell-scripts.
For yderligere information, se venligst denne artikel https://www.relianoid.com/resources/knowledge-base/system-enterprise-edition-v8-administration-guide/system-user/ .
Identifikation af API-slutpunktet #
For det andet skal du identificere det korrekte API-slutpunkt for at oprette forbindelse til load balancer. API-slutpunktet indeholder typisk basis-URL'en til din load balancer efterfulgt af specifikke stier til forskellige funktioner. I tilfælde af en klynget load balancer-opsætning er det afgørende at bruge en delt IP-adresse til API-slutpunktet. Denne delte IP-adresse sikrer, at API-kaldet altid dirigeres til masternoden, uanset hvilken node der i øjeblikket fungerer som master. Brug af den delte IP forhindrer problemer, hvor API-kaldet kan foretages til en standby-node, hvilket sikrer, at alle konfigurationer og handlinger anvendes konsekvent på den aktive masternode.
Powershell API-eksempler #
muligheden SkipCertificateCheck kunne ikke genkendes i ældre versioner af Powershell. Hvis dette er tilfældet for dig, skal du definere denne indstilling i begyndelsen af dit Powershell-script:
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true } ...
Derudover skal følgende linje tilføjes i vores Powershell-scripts for at undgå fejlen "Invoke-RestMethod: Den underliggende forbindelse blev lukket: Der opstod en uventet fejl ved modtagelse.".
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
Henter gårdoplysninger #
Dette script udfører en GET-anmodning for at hente oplysninger om en specifik gård i RELIANOID Load Balancer.
Forudsætninger
- udskifte med din egentlige API-nøgle.
- udskifte <RELIANOID_SERVER> med den faktiske serveradresse på din RELIANOID Load Balancer.
- udskifte med den egentlige gård.
- Sørg for, at du har de nødvendige API-tilladelser aktiveret.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12 # Definer variabler $apiKey = " "$server = "RELIANOID_SERVER>" $farmName = " " # Definer API-slutpunkts-URL'en $apiUrl = "https://${server}:444/api/v4.0/api.cgi/farms/$farmName" # Foretag API-kaldet ved hjælp af Invoke-RestMethod $response = Invoke-RestMethod -Uri $apiUrl -Method Get -Headers @{ "API_KEY" = $apiKey } -SkipCertificateCheck # Udskriv svaret $response
Forklaring
1. Variabler:
$apiKeyDin API-nøgle.$serverAdressen på din RELIANOID Load Balancer.$farmNameNavnet på den gård, du vil hente oplysninger om.
2. API-slutpunkts-URL:
$apiUrlKonstrueret ved hjælp af serveradressen og farmnavnet.
3. Invoke-RestMethod:
- -Uri
$apiUrlAngiver API-slutpunktet. - -Metode HentAngiver HTTP GET-metoden.
- -Overskrifter
@{ "API_KEY" = $apiKey }Tilføjer API-nøglen til anmodningsheaderne. - -SkipCertificateCheckSpringer SSL-certifikatvalidering over (svarende til -k i curl). Dette er nyttigt til test eller når serveren bruger et selvsigneret certifikat.
4. Output:
Svaret fra API-kaldet gemmes i $response variabel og derefter outputtet til konsollen.
Se venligst den officielle Apidoc for at få yderligere oplysninger om dette opkald https://www.relianoid.com/apidoc/v4.0/#retrieve-farm-by-name
Tilføjelse af en ny backend i Farm #
Dette script udfører en POST-anmodning for at tilføje en ny backend til en bestemt tjeneste i en farm på Relianoid load balancer.
Forudsætninger
- udskifte med din egentlige API-nøgle.
- udskifte <RELIANOID_SERVER> med den faktiske serveradresse på din RELIANOID Load Balancer.
- udskifte med den egentlige gård.
- udskifte med HTTP-tjenesten, hvor backend'en vil blive tilføjet.
- udskifte med IP'en på den nye backend.
- udskifte med PORTEN for den nye backend.
- Sørg for, at du har de nødvendige API-tilladelser aktiveret.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12 # Definer variabler $apiKey = " "$server = "RELIANOID_SERVER>" $farmName = " "$servicenavn = " " # Definer API-slutpunkts-URL'en $apiUrl = "https://${server}:444/api/v4.0/api.cgi/farms/$farmName/services/$serviceName/backends" # Definer anmodningsteksten $requestBody = @{ ip = " "port = vægt = 1 prioritet = 1 } | ConvertTo-Json # Foretag API-kaldet ved hjælp af Invoke-RestMethod $response = Invoke-RestMethod -Uri $apiUrl -Method Post -Headers @{ "Content-Type" = "application/json" "API_KEY" = $apiKey } -Body $requestBody -SkipCertificateCheck # Udskriv svaret $response
Forklaring
1. Variabler:
$apiKeyDin API-nøgle.$serverAdressen på din RELIANOID Load Balancer.$farmNameNavnet på den gård, du vil tilføje en ny backend til.$serviceNameNavnet på den tjeneste i farmen, hvor backend'en vil blive tilføjet.
2. API-slutpunkts-URL:
$apiUrlKonstrueret ved hjælp af serveradressen, farmnavnet og servicenavnet.
3. Anmodningstekst:
$requestBodyIndeholder JSON-nyttelasten med backend-serverens detaljer. Den konverteres til JSON-format ved hjælp af Konverter til Json.
4. Invoke-RestMethod:
- -Uri
$apiUrlAngiver API-slutpunktet. - -Metodeindlæg: Angiver HTTP POST-metoden.
- -Overskrifter
@{ "Content-Type" = "application/json"; "API_KEY" = $apiKey }: Tilføjer Content-Type og API_KEY til anmodningsheaderne. - -Legeme
$requestBodyAngiver JSON-nyttelasten for POST-anmodningen. - -SkipCertificateCheckSpringer SSL-certifikatvalidering over (svarende til -k i curl). Dette er nyttigt til test eller når serveren bruger et selvsigneret certifikat.
5. Output:
Svaret fra API-kaldet gemmes i $response variabel og derefter outputtet til konsollen.
Se venligst den officielle Apidoc for at få yderligere oplysninger om dette opkald https://www.relianoid.com/apidoc/v4.0/#create-a-new-backend
Aktivér backend i vedligeholdelsestilstand #
Dette script udfører en PUT-anmodning for at indstille en backend-server til vedligeholdelsestilstand på RELIANOID Load Balancer.
Forudsætninger
- udskifte med din egentlige API-nøgle.
- udskifte <RELIANOID_SERVER> med den faktiske serveradresse på din RELIANOID Load Balancer.
- udskifte med den egentlige gård.
- udskifte med HTTP-tjenesten, hvor backend'en vil blive sat i vedligeholdelse.
- udskifte med backend-ID'et for at ændre vedligeholdelsestilstanden.
- Sørg for, at du har de nødvendige API-tilladelser aktiveret.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12 # Definer variabler $apiKey = " "$server = "RELIANOID_SERVER>" $farmName = " "$servicenavn = " "$backendId = # Definer API-slutpunkts-URL'en $apiUrl = "https://${server}:444/api/v4.0/api.cgi/farms/$farmName/services/$serviceName/backends/$backendId/maintenance" # Definer anmodningsteksten $requestBody = @{ action = "maintenance" mode = "drain" } | ConvertTo-Json # Foretag API-kaldet ved hjælp af Invoke-RestMethod $response = Invoke-RestMethod -Uri $apiUrl -Method Put -Headers @{ "Content-Type" = "application/json" "API_KEY" = $apiKey } -Body $requestBody -SkipCertificateCheck # Udskriv svaret $response
Forklaring
1. Variabler:
$apiKeyDin API-nøgle.$serverAdressen på din RELIANOID Load Balancer.$farmNameNavnet på den farm, hvor den backend, der skal implementere vedligeholdelse, tilføjes.$serviceNameNavnet på den tjeneste i farmen, hvor backend'en vil være i vedligeholdelse.$backendId: ID'et for den backend, der skal sættes i vedligeholdelsestilstand.
2. API-slutpunkts-URL:
$apiUrlKonstrueret ved hjælp af serveradressen, farmnavnet og servicenavnet.
3. Anmodningstekst:
$requestBodyIndeholder JSON-nyttelasten med handlingen og tilstanden til at indstille backend til vedligeholdelsestilstand. Den konverteres til JSON-format ved hjælp af Konverter til Json.
4. Invoke-RestMethod:
- -Uri
$apiUrlAngiver API-slutpunktet. - -Metode Put: Angiver HTTP PUT-metoden.
- -Overskrifter
@{ "Content-Type" = "application/json"; "API_KEY" = $apiKey }: Tilføjer Content-Type og API_KEY til anmodningsheaderne. - -Legeme
$requestBodyAngiver JSON-nyttelasten for PUT-anmodningen. - -SkipCertificateCheckSpringer SSL-certifikatvalidering over (svarende til -k i curl). Dette er nyttigt til test eller når serveren bruger et selvsigneret certifikat.
5. Output:
Svaret fra API-kaldet gemmes i $response variabel og derefter outputtet til konsollen.
Se venligst den officielle Apidoc for at få yderligere oplysninger om dette opkald https://www.relianoid.com/apidoc/v4.0/#backend-in-maintenance
Yderligere API-dokumentation #
For mere detaljerede oplysninger om de API-kald, der er tilgængelige til administration af RELIANOID Load Balancer, kan du se den officielle API-dokumentation på RELIANOID API-dokumentationDenne omfattende ressource indeholder detaljerede beskrivelser af hvert API-slutpunkt, herunder de nødvendige HTTP-metoder, anmodningsparametre og svarformater.
Dokumentationen er struktureret til at hjælpe dig med at forstå, hvordan du interagerer med forskellige aspekter af load balancer, såsom administration af farms, tjenester og backends, samt overvågning af systemstatus og ydeevne. Hvert API-kald ledsages af eksempler og forklaringer, der guider dig gennem processen med at udarbejde dine anmodninger og håndtere svarene. Dette er en vigtig ressource for systemadministratorer og udviklere, der ønsker at automatisere og strømline deres load balancer-administrationsopgaver ved hjælp af API'en.