設定 CLI 和 API 環境

在您使用 API 或 CLI 建立 IBM® Storage Ceph® as a Service 之前,請先設定您的環境。

一般必要條件

  1. 請設定您的帳戶,以便存取 IBM Storage Ceph as a Service。 請確認您的帳戶已 升級為付費帳戶

  2. 確保您手邊有提供部署的 on-prem 端點清單。

    您可以將端點設定為環境變數。

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

若要設定 CLI 使用 API 端點,請遵循下列步驟:

如果您需要下載 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 login

設定 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>

Authorization 標頭需要記號以 "Bearer" 開頭。 如果結果不包含 "Bearer" ,請更新 IAM_TOKEN 變數以包含該值。 這些範例假設 IAM_TOKEN 中包含 "Bearer" 。

IAM 憑證的有效期限最長為 60 分鐘,且此期限可能有所變動。 記號到期時,您必須產生新的記號。 使用屬性 expires_in 來設定剛建立的 IAM 令牌的到期日。

步驟 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 Reference 中描述的其中一個 API 來驗證您的 API 存取權。

如果遇到非預期結果,請在 --verbose 指令後面新增 curl(除錯)旗標,以取得詳細的記載資訊。