CLI 및 API 환경 설정

API나 CLI를 사용하여 IBM® Storage Ceph® as a Service 를 생성하기 전에 환경을 설정해야 합니다.

일반 전제조건

  1. IBM Storage Ceph as a Service 에 접속하려면 계정을 설정하세요. 계정이 유료 계정으로 업그레이드되는지 확인하십시오.

  2. 배포를 위해 제공된 온-프레미스 엔드포인트 목록을 준비해 두십시오.

    엔드포인트를 환경 변수로 설정할 수 있습니다.

CLI 전제조건

CLI를 사용하려면 먼저 ‘ IBM Cloud ’ CLI와 ‘ IBM Storage Ceph as a Service ’ CLI 플러그인을 설치해야 합니다.

IBM Storage Ceph as a Service 의 온프레미스 배포에서 CLI를 사용하기 전에 CLI를 실행할 환경이 온프레미스 네트워크에 연결되어 있는지 확인합니다.

  1. IBM Cloud CLI를 설치하십시오.

  2. IBM Storage Ceph as a Service CLI 플러그인 software-defined-storage 을 설치합니다.

    ibmcloud plugin install software-defined-storage
    

    IBM Storage Ceph as a Service 의 CLI 액션도 별칭 sds 를 사용합니다. CLI 명령 사용 방법에 대해 알아보기 위해 다음을 실행할 수 있습니다.

    ibmcloud sds --help
    ibmcloud sds volume-create --help
    ibmcloud sds host-create --help
    

API 엔드포인트를 통해 CLI에 액세스하기

API 엔드포인트를 사용하도록 CLI를 설정하려면 다음 단계를 따르십시오

IBM Cloud CLI 및 관련 플러그인을 다운로드해야 하는 경우 해당 플러그인이 있는 공개 리포지토리에 액세스할 수 있어야 합니다.

  1. 핵심 IBM Cloud CLI 및 IBM Storage Ceph as a Service 플러그인이 최신 버전으로 업데이트되었는지 확인합니다:

    ibmcloud update
    
    ibmcloud plugin update software-defined-storage
    
  2. API 엔드포인트를 지정하려면 다음 명령어를 입력하십시오

    ibmcloud login -a https://cloud.ibm.com
    

    CLI 옵션에 대한 자세한 내용은 ibmcloud 로그인을 참조하십시오.

IAM 토큰 설정

CLI를 사용하여 IBM Storage Ceph as a Service 를 생성하려면, 먼저 IAM 토큰을 획득하고, 엔드포인트를 변수로 저장한 다음, IBM Storage Ceph as a Service 서비스에 대한 액세스 권한이 있는지 확인해야 합니다.

IAM_TOKEN=$(ibmcloud iam oauth-tokens --output json | jq -r '.iam_token)

API 전제조건

API를 사용하여 IBM Storage Ceph as a Service 를 생성하려면, 먼저 IAM 토큰을 획득하고, 엔드포인트를 변수로 저장한 다음, CephaaS API 서비스에 대한 액세스 권한이 있는지 확인해야 합니다.

다음 예에서는 us-south 지역 엔드포인트를 사용합니다.

1단계: API 키를 변수로 저장

다음 명령을 실행하여 계정에 대한 API 키를 환경 변수에 저장하십시오. API 키가 없는 경우 API 키 작성을 참조하십시오.

apikey="<YOUR_API_KEY>"

2단계: IBM Identity and Access Management(IAM) 토큰 가져오기

JSON 처리 유틸리티인 jq를 사용하여 IAM 토큰을 가져오고 구문 분석하려면 다음 명령어를 실행하십시오. 다른 구문 분석 도구를 사용하도록 명령을 수정하거나 수동으로 토큰을 구문 분석하려는 경우 명령의 마지막 부분을 제거할 수 있습니다.

IAM_TOKEN=`curl -k -X POST \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --header "Accept: application/json" \
  --data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \
  --data-urlencode "apikey=$apikey" \
  "https://iam.cloud.ibm.com/identity/token"  |jq -r '(.token_type + " " + .access_token)'`

IAM 토큰을 확인하려면 echo $IAM_TOKEN을(를) 실행하십시오. 결과는 다음과 같이 표시되어야 합니다.

Bearer <your token>

권한 부여 헤더는 토큰이 "Bearer"로 시작될 것으로 예상합니다. 결과에 "Bearer"가 포함되어 있지 않으면 이를 포함하도록 IAM_TOKEN 변수를 업데이트하십시오. 이 문서의 예에서는 "Bearer"가 IAM_TOKEN에 포함되어 있다고 가정합니다.

IAM 토큰은 최대 60분 동안 유효하며 변경될 수 있습니다. 토큰이 만기되면 새로 작성해야 합니다. 방금 생성한 IAM 토큰의 만료일을 설정하려면 expires_in 속성을 사용하십시오.

3단계: API 엔드포인트를 변수로 저장

$sds_endpoint 은 IBM Storage Ceph as a Service 을 구성할 때 제공된 엔드포인트를 가리키는 환경 변수입니다. URL 의 형태입니다. 예를 들어, https://sds-cephaas.<cephaas-instance-id>.software-defined-storage.appdomain.cloud:{port number}입니다. 다음 명령을 실행하여 세션에서 나중에 재사용할 수 있도록 변수에 API 엔드포인트를 저장하십시오.

예를 들어, 다음과 같습니다.

sds_api_endpoint="https://sds-cephaas.936481b2-379d-4ca6-94ed-4dc1911d749f.software-defined-storage.appdomain.cloud:33173"

이 변수가 저장되었는지 확인하려면 echo $sds_endpoint을(를) 실행한 후 응답이 비어 있지 않은지 확인하십시오.

4단계: API 접근 권한이 있는지 확인하세요

이제 엔드포인트와 IAM 토큰이 있으므로, API 레퍼런스에 설명된 API 중 하나를 통해 API 액세스를 확인하십시오.

예상치 않은 결과가 발생하는 경우에는 --verbose 명령 뒤에 curl(디버그) 플래그를 추가하여 자세한 로깅 정보를 얻으십시오.