ECS: Slik bruker du API curl-kommandoen
Summary: Slik bruker du krøllekommandoen Application Programming Interface (API) med GET- og PUT-eksempler.
Instructions
Denne kunnskapsartikkelen viser hvordan du bruker curl-kommandoer for bruk av ECS API.
I brukerveiledningene, som administrasjonsveiledningen for ECS eller datatilgangsveiledningen, finnes det eksempler på API-bruk med curl-kommandoer.
Dette viser hvordan du bruker curl-kommandoen til å GET og PUT på en API. I dette eksemplet LDAPS-sertifikat-API per KB ECS: Sette opp og godta alle sertifikater over LDAPS på ECS.
Eksempel på krøll – eksempel på LDAPS-sertifikat-API:
LDAPS certificates API bruker administrasjons-IP-en og tillater ikke emcmonitor-tilgang, men rotbrukeren i stedet. Dette er et eksempel på bruk av ECS API, LDAPS-sertifikat-API er plassert i "/vdc/truststore". API-en din kan være annerledes og på et annet sted.
Hvis du vil undersøke ECS-innstillingene for LDAPS-sertifikatinnstillingene, må du først bruke en nodeadministrasjons-IP. Hvis det er nettverksseparasjon for UI-behandlingen, vises "getrackinfo -n" har "mgmt" verdier. Bruk nodene public.mgmt IP-adresse, replikering og separasjon av datanettverk er ikke nødvendig for disse trinnene:
# getrackinfo -n Named networks ============== Node ID Network Ip Address Netmask Gateway VLAN Interface 1 repl 10.xxx.xxx.11 255.255.254.0 xxx.xxx.xxx.xxx 14 public 1 mgmt 10.xxx.xxx.21 255.255.254.0 xxx.xxx.xxx.xxx 13 public 1 data 10.xxx.xxx.31 255.255.254.0 xxx.xxx.xxx.xxx 15 public 2 repl 10.xxx.xxx.12 255.255.254.0 xxx.xxx.xxx.xxx 14 public 2 mgmt 10.xxx.xxx.22 255.255.254.0 xxx.xxx.xxx.xxx 13 public 2 data 10.xxx.xxx.32 255.255.254.0 xxx.xxx.xxx.xxx 15 public 3 repl 10.xxx.xxx.13 255.255.254.0 xxx.xxx.xxx.xxx 14 public 3 mgmt 10.xxx.xxx.23 255.255.254.0 xxx.xxx.xxx.xxx 13 public 3 data 10.xxx.xxx.33 255.255.254.0 xxx.xxx.xxx.xxx 15 public 4 repl 10.xxx.xxx.14 255.255.254.0 xxx.xxx.xxx.xxx 14 public 4 mgmt 10.xxx.xxx.24 255.255.254.0 xxx.xxx.xxx.xxx 13 public 4 data 10.xxx.xxx.34 255.255.254.0 xxx.xxx.xxx.xxx 15 public
Hvis det ikke er noen separasjon av network public.mgmt på VDC, bruker du nodens offentlige IP-adresse i stedet. Vær oppmerksom på at adressen for nettverksseparasjonen public.mgmt har forrang hvis angitt.
# getrackinfo Node private Node Public BMC Ip Address Id Status Mac Ip Address Mac Ip Address Node Name =============== ====== ====== ================= ================= ================= ================= ========= 192.1XX.2XX.1 1 MA a4:bf:xx:xx:xx:74 10.xx.xx.1 a4:bf:xx:xx:xx 192.1XX.2XX.101 provo-red 192.1XX.2XX.2 2 SA a4:bf:xx:xx:xx:c8 10.xx.xx.2 a4:bf:xx:xx:xx 192.1XX.2XX.102 sandy-red 192.1XX.2XX.3 3 SA a4:bf:xx:xx:xx:e0 10.xx.xx.3 a4:bf:xx:xx:xx 192.1XX.2XX.103 orem-red 192.1XX.2XX.4 4 SA a4:bf:xx:xx:xx:56 10.xx.xx.4 a4:bf:xx:xx:xx 192.168.219.104 ogden-red
Bruk administrasjons-IP-adressen som er anskaffet For å hente rotbrukertokenet kreves det:
# curl -s -k -v -u root https://<NodeManagementIP>:4443/login 2>&1
Eksempel:
# curl -s -k -v -u root https://10.xxx.xxx.21:4443/login 2>&1 Enter host password for user 'root': ...... < HTTP/1.1 200 OK < Date: Thu, 14 Jan 2021 13:51:24 GMT < Content-Type: application/xml < Content-Length: 93 < Connection: keep-alive < X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8= < X-SDS-AUTH-USERNAME: root < X-SDS-AUTH-MAX-AGE: 28800 < * Connection #0 to host 10.xxx.xxx.21 left intact root
Hvis utgangen ikke er "HTTP/1.1 200 OK", sjekk passordet og IP-adressen, sjekk om det finnes separasjon av UI-administrasjonsnettverk fra kommandoen "getrackinfo -n». Når rotbrukertokenet oppretter en tokenvariabel, må et gyldig token oppdateres hvis du er i en ny CLI-økt:
# export TOKEN='X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8='
Hvis du vil teste tokenet er verdi, kan du kjøre en curl-kommando:
# curl -k -X GET -H "$TOKEN" https://10.xxx.xxx.21:4443/object/capacity | xmllint --format - % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 176 100 176 0 0 249 0 --:--:-- --:--:-- --:--:-- 250 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <cluster_capacity> <totalFree_gb>100657</totalFree_gb> <totalProvisioned_gb>447005</totalProvisioned_gb> </cluster_capacity>
Formålet med trinnene ovenfor er å bruke rotbrukertokenet til å få krøllkoblingstilgang til ECS UI truststore. Se ECS-administratorveiledningen hvis du vil ha mer informasjon om «Legg til et egendefinert LDAP-sertifikat». I dette eksemplet med bruk av ECS-API er LDAPS-sertifikat-API-en plassert i "/vdc/truststore". API-en din kan være på et annet sted.
Eksempel på KRØLL GET:
Få truststore-innstillingene med en curl GET-kommando:
# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore/settings
Eksempel:
# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore/settings
{"accept_all_certificates":false}
I eksemplet ovenfor er truststore "accept_all_certificates" er satt til usann. Dette betyr at bare opplastede LDAPS-sertifikater som samsvarer med et AD/LDAP-serversertifikat, kan godkjennes av ECS. En bruker vil kanskje at dette skal være sant eller usant, avhengig av deres behov. For å teste LDAPS-tilkoblingen, sette den til sann og teste brukerens pålogging kan validere.
Opprett en json-fil for å endre truststore-innstillingene med en curl-kommando med en json-nyttelast:
# sudo vi truststoresettings.json
# sudo cat truststoresettings.json
{"accept_all_certificates": "true"}
Json.tool-modulen på python kan validere et json-filformat. Hvis det er en feil, kan det hende at filen ikke er en json-fil. I dette eksemplet er det ingen feil og sender ut filen, så det er en formatert json-fil:
# python -m json.tool truststoresettings.json
{
"accept_all_certificates": "true"
}
Curl PUT eksempel:
Kjør en curl-kommando med en json-fil som nyttelast med en curl PUT-kommando:
# curl -s -k -X PUT -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://:4443/vdc/truststore/settings -d @truststoresettings.json
For å sjekke at den er oppdatert, kjør kommandoen curl GET:
# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://10.xxx.xxx.21:4443/vdc/truststore/settings
{"accept_all_certificates":true}