ECS: API curl 명령을 사용하는 방법

Summary: API(Application Programming Interface) curl 명령을 GET 및 PUT 예제와 함께 사용하는 방법

Αυτό το άρθρο ισχύει για Αυτό το άρθρο δεν ισχύει για Αυτό το άρθρο δεν συνδέεται με κάποιο συγκεκριμένο προϊόν. Δεν προσδιορίζονται όλες οι εκδόσεις προϊόντων σε αυτό το άρθρο.

Instructions

이 기술 자료 문서에서는 ECS API를 사용하는 데 curl 명령을 사용하는 방법을 보여줍니다.

ECS 관리 가이드 또는 데이터 액세스 가이드와 같은 사용자 가이드에는 curl 명령과 함께 API를 사용하는 예가 있습니다.

curl 명령을 사용하여 API에서 GET 및 PUT을 수행하는 방법을 표시합니다. 이 예에서 KB ECS당 LDAPS 인증서 API는 다음과 같습니다. ECS에서 LDAPS를 통해 모든 인증서를 설정하고 수락하는 방법


curl 예 - LDAPS 인증서 API 예:
LDAPS 인증서 API는 관리 IP를 사용하고 emcmonitor 액세스를 허용하지 않고 루트 사용자를 허용합니다. ECS API 사용의 예로, LDAPS 인증서 API는 "/vdc/truststore"명령을 수행할 수 있는 충분한 공간이 있어야 합니다. API가 다르고 다른 위치에 있을 수 있습니다.

LDAPS 인증서 설정과 관련된 ECS 설정을 검토하려면 먼저 사용할 노드 관리 IP를 가져옵니다. UI 관리를 위해 네트워크가 분리되어 있는 경우 "getrackinfo -n"에는 "mgmt" 값이 있습니다. 노드 public.mgmt IP 주소를 사용하십시오. 다음 단계에서는 복제 및 데이터 네트워크 분리가 필요하지 않습니다.

# 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

VDC에 네트워크 public.mgmt 분리가 없는 경우 노드의 공용 IP 주소를 대신 사용합니다. public.mgmt 네트워크 분리 주소가 설정된 경우 우선합니다.

# 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

루트 사용자 토큰을 가져오려면 획득한 관리 IP 주소를 사용합니다. 루트 사용자 암호는 필수입니다.

# curl -s -k -v -u root https://<NodeManagementIP>:4443/login 2>&1

예:

# 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

출력이 "HTTP/1.1 200 OK"가 아닌 경우 비밀번호와 IP 주소를 확인하고 명령에서 UI 관리 네트워크가 분리되어 있는지 확인하십시오.getrackinfo -n"로 이동되었습니다. 루트 사용자 토큰을 사용하여 토큰 변수를 생성하고 새 CLI 세션에 있는 경우 유효한 토큰을 업데이트해야 합니다.

# export TOKEN='X-SDS-AUTH-TOKEN: BAAcdWhGbnVRVjd1WlpmR0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxAgAC0A8='

토큰이 값인지 테스트하려면 다음 curl 명령을 실행합니다.

# 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>

위 단계의 목적은 루트 사용자 토큰을 사용하여 ECS UI 신뢰 저장소에 대한 curl 액세스 권한을 얻는 것입니다. "사용자 지정 LDAP 인증서 추가"에 대한 자세한 내용은 ECS 관리자 가이드를 참조하십시오. 이 ECS API 사용 예에서 LDAPS 인증서 API는 "/vdc/truststore"명령을 수행할 수 있는 충분한 공간이 있어야 합니다. API가 다른 위치에 있을 수 있습니다.

 

Curl GET 예제:

curl GET 명령을 사용하여 신뢰 저장소 설정을 가져옵니다.

# curl -s -k -X GET -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://<NodeManagementIP>:4443/vdc/truststore/settings

예:

# 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}


위의 예에서 truststore "accept_all_certificates" false로 설정됩니다. 즉, AD/LDAP 서버 인증서와 일치하는 업로드된 LDAPS 인증서만 ECS에서 신뢰할 수 있습니다. 사용자는 필요에 따라 true 또는 false로 설정하기를 원할 수 있습니다. LDAPS 연결을 테스트하려면 이를 true로 설정하고 사용자 로그인을 테스트하면 유효성을 검사할 수 있습니다.

json 페이로드가 있는 curl 명령으로 신뢰 저장소 설정을 변경하려면 json 파일을 생성합니다.

# sudo vi truststoresettings.json
# sudo cat truststoresettings.json
{"accept_all_certificates": "true"}


Python의 json.tool 모듈은 json 파일 형식의 유효성을 검사할 수 있습니다. 오류가 있는 경우 파일이 json 파일이 아닐 수 있습니다. 이 예에서는 오류가 없고 파일을 출력하므로 형식이 지정된 json 파일입니다.

# python -m json.tool truststoresettings.json
{
    "accept_all_certificates": "true"
}

 

Curl PUT 예:

curl PUT 명령으로 json 파일을 페이로드로 사용하여 curl 명령을 실행합니다.

# curl -s -k -X PUT -H Content-Type:application/json -H "$TOKEN" -H ACCEPT:application/json https://:4443/vdc/truststore/settings -d @truststoresettings.json

업데이트가 되었는지 확인하려면 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}

Επηρεαζόμενα προϊόντα

ECS

Προϊόντα

ECS Appliance
Ιδιότητες άρθρου
Article Number: 000194272
Article Type: How To
Τελευταία τροποποίηση: 04 Νοε 2025
Version:  4
Βρείτε απαντήσεις στις ερωτήσεις σας από άλλους χρήστες της Dell
Υπηρεσίες υποστήριξης
Ελέγξτε αν η συσκευή σας καλύπτεται από τις Υπηρεσίες υποστήριξης.