设置CLI和API环境
在通过 API 或 CLI 创建 IBM® Storage Ceph® as a Service 之前,请先配置您的环境。
常规先决条件
-
请设置您的账户,以便访问 IBM Storage Ceph as a Service。 请确保您的账户已 升级为付费账户。
-
请确保您手边有部署所需的本地端点列表。
您可以将端点设置为环境变量。
CLI 先决条件
在使用 CLI 之前,必须安装 IBM Cloud CLI 和 IBM Storage Ceph as a Service CLI 插件。
在企业内部部署的 IBM Storage Ceph as a Service 上使用 CLI 之前,请确保运行 CLI 的环境已连接到企业内部网络。
-
安装 IBM Storage Ceph as a Service CLI 插件
software-defined-storage。ibmcloud plugin install software-defined-storageIBM 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 和相关插件,您必须能够访问它们所在的公共资源库。
-
确保核心 IBM Cloud CLI 和 IBM Storage Ceph as a Service 插件更新到最新版本:
ibmcloud updateibmcloud plugin update software-defined-storage -
要指定一个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>
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参考中 描述的API之一验证您的API访问权限。
如果遇到意外结果,请在 --verbose 命令后面添加 curl(调试)标志,以获取详细的日志记录信息。