
# ccictl配置指南
云容器实例支持使用定制的ccictl来创建负载等资源。
 #### 下载ccictl
请在[表1]下载对应版本的ccictl。
 表1ccictl 下载地址 
| 操作系统          | 下载地址                                                                                                                                                                                                                                                          |
|:---|:---|
| Linux AMD 64位 | [ccictl_linux-amd64](https://cci-cn-south-4.obs.cn-south-4.myhuaweicloud.com/ccictl/ccictl) [ccictl_linux-amd64_sha256](https://cci-cn-south-4.obs.cn-south-4.myhuaweicloud.com/ccictl/ccictl.sha256)                           |
| Mac AMD 64位   | [ccictl_mac-amd64](https://cci-cn-south-4.obs.cn-south-4.myhuaweicloud.com/ccictl-darwin-amd64/ccictl) [ccictl_mac-amd64_sha256](https://cci-cn-south-4.obs.cn-south-4.myhuaweicloud.com/ccictl-darwin-amd64/ccictl.sha256)  |
| Mac ARM 64位   | [ccictl_mac-arm64](https://cci-cn-south-4.obs.cn-south-4.myhuaweicloud.com/ccictl-darwin-arm64/ccictl) [ccictl_mac-arm64_sha256](https://cci-cn-south-4.obs.cn-south-4.myhuaweicloud.com/ccictl-darwin-arm64/ccictl.sha256) |
   
 #### 安装并设置ccictl
以下操作以Linux环境为例。
1. 将[下载ccictl]中下载的ccictl赋予可执行权限，并放到PATH目录下。
   
   ```
   #chmod +x ./ccictl
   #mv ./ccictl $PATH
   ```
   其中，*$PATH*为PATH路径（如/usr/local/bin），请替换为实际的值。
   您还可以通过如下命令查看ccictl的版本，如下所示。
   ```
   #ccictl version
   #Client Version: version.Info{GitVersion:"v0.0.2", GitCommit:"996a2efcd852473dde345ae2931833342cab1d96", BuildDate:"2025-03-24T00:32:05Z", GoVersion:"go1.19.6", Compiler:"gc", Platform:"linux/amd64"}
   ```
   
   
2. 配置IAM认证信息并持久化到本地。 
   1. 指定CCI集群：
      ```
      ccictl config set-cluster <$context-cluster-name> --server=https://<$cci-endpoint>
      ```
      - $context-cluster-name：集群名称，要用户可自定义。
      
      - $cci-endpoint：CCI的Endpoint，不同区域的终端节点不同，详情请参考[地区和终端节点](https://console.huaweicloud.com/apiexplorer/#/endpoint/CCI)。
      
      
      示例：
      ```
      #ccictl config set-cluster cci-cluster --server=https://cci.cn-north-4.myhuaweicloud.com
      #Cluster "cci-cluster" set.
      ```
      
   
   2. 设置ccictl使用的用户凭证：
      ```
      ccictl config set-credentials <$user> --auth-provider=iam --auth-provider-arg=iam-endpoint=https://<$iam-endpoint> --auth-provider-arg=cache="true" --auth-provider-arg=project-name=<$project-name> --auth-provider-arg=user-name=<$user-name> --auth-provider-arg=domain-name=<$domain-name> --auth-provider-arg=password=<$password>
      ```
      或
      ```
      ccictl config set-credentials <$user> --auth-provider=iam --auth-provider-arg=iam-endpoint=https://<$iam-endpoint> --auth-provider-arg=cache="true" --auth-provider-arg=project-name=<$project-name> --auth-provider-arg=ak=<$ak> --auth-provider-arg=sk=<$sk>
      ```
      表2用户名/密码配置 
      | Command Flag | Description   |
      |:---|:---|
      | domain-name  | 租户名，即账号名。     |
      | user-name    | 子用户名，即IAM用户名。 |
      | password     | 用户或子用户密码。     |
         
      表3AK/SK配置 
      | Command Flag | Description                                                                                        |
      |:---|:---|
      | ak           | ak、sk的获取方法请参见[获取AK/SK]，ak为文件中Access Key部分，sk为文件中Secret Key部分。 |
      | sk           | ak、sk的获取方法请参见[获取AK/SK]，ak为文件中Access Key部分，sk为文件中Secret Key部分。 |
         
      表4公共配置 
      | Command Flag      | Description                                                                                                            |
      |:---|:---|
      | context-user-name | 用户名，即配置的上下文用户名，用户可自定义。                                                                                                 |
      | iam-endpoint      | IAM的Endpoint，必须配置，详情请参见[地区和终端节点](https://console.huaweicloud.com/apiexplorer/#/endpoint/IAM)。                          |
      | project-name      | 项目名称，详情请参见[从控制台获取项目名称]。                                  |
      | cache             | 是否开启将IAM Token缓存到本地，提高访问性能，默认为true。 注意： 在非安全环境，建议关闭此选项。 |
         
      示例：
      ```
      #ccictl config set-credentials cci-user --auth-provider=iam --auth-provider-arg=iam-endpoint=https://iam.cn-north-4.myhuaweicloud.com --auth-provider-arg=cache="true" --auth-provider-arg=project-name=cn-north-4 --auth-provider-arg=ak=ak****** --auth-provider-arg=sk=sk******
      #User "cci-user" set.
      ```
      
   
   3. 设置和使用ccictl的上下文：
      ```
      ccictl config set-context <$context-name> --cluster=<$context-cluster-name> --user=<$context-user-name>
      ```
      
   
   
   - $context-name：上下文名称，用户可自定义。
   
   - $context-cluster-name：前文配置的集群名称。
   
   - $context-user-name：前文配置的用户名。
   
   
   示例：
   ```
   #ccictl config set-context cci-context1 --cluster=cci-cluster --user=cci-user
   #Context "cci-context1" created.
   ```
   使用ccictl的上下文。
   ```
   ccictl config use-context  <$context-name>
   ```
   示例：
   ```
   #ccictl config use-context cci-context1
   #Switched to context "cci-context1".
   ```
   
   
3. 配置完成后，即可通过ccictl命令操作云容器实例的相关资源。 
   例如，执行ccictl get namespace，查看namespace资源。
   ```
   #ccictl get namespace
   #No resources found.
   ```
   
   
 
#### 非安全环境配置ccictl
1. 参照上述[安装并设置ccictl]。
2. 编辑config文件，删除敏感信息参数。 
   Linux系统，config文件默认位于$HOME/.kubev2/config。
   表5删除敏感信息参数 
   | Command Flag  | Environment Value | Description |
   |:---|:---|:---|
   | --domain-name | DOMAIN_NAME       | 租户名         |
   | --user-name   | USER_NAME         | 子用户名        |
   | --password    | PASSWORD          | 用户密码        |
   | --ak          | ACCESS_KEY_ID     | Access Key  |
   | --sk          | SECRET_ACCESS_KEY | Secret Key  |
   | --cache       | CREDENTIAL_CACHE  | 是否开启缓存Token |
      
   
   
3. 配置删除参数相应的环境变量来使用ccictl，以AK/SK为例。 
   ```
   #export ACCESS_KEY_ID=xxxxxxx
   #export SECRET_ACCESS_KEY=xxxxxxx
   #export CREDENTIAL_CACHE=false
   #ccictl get ns
   ```
   执行上述命令后，提示如下类似信息：
   ```
   #No resources found.
   ```
   
   
 
 #### 获取AK/SK
AK(Access Key ID)：访问密钥ID。与私有访问密钥关联的唯一标识符；访问密钥ID和私有访问密钥一起使用，对请求进行加密签名。
SK(Secret Access Key)：与访问密钥ID结合使用的密钥，对请求进行加密签名，可标识发送方，并防止请求被修改。
1. 登录[云容器实例 CCI2.0](https://console.huaweicloud.com/cci2.0/?#/cci/cluster/list)控制台。
2. 鼠标悬停在右上角的用户名，选择下拉列表中的"我的凭证"。
3. 在"我的凭证"页面，单击"访问密钥"页签。
4. 单击"新增访问密钥"，输入验证码。
5. 单击"确定"，生成并下载访问密钥。 
   ![](https://support.huaweicloud.com/devg-cci2/public_sys-resources/note_3.0-zh-cn.png)
   为防止访问密钥泄露，建议您将其保存到安全的位置。
   
   
 
#### 获取云容器实例Endpoint
终端节点（Endpoint）即调用API的**请求地址** ，不同服务不同区域的终端节点不同，您可以从[地区和终端节点](https://developer.huaweicloud.com/endpoint)查询服务的终端节点。
请您根据业务需要选择对应区域的终端节点。
 #### 从控制台获取项目名称
从控制台获取项目名称的步骤如下：
1. 登录[云容器实例 CCI2.0](https://console.huaweicloud.com/cci2.0/?#/cci/cluster/list)控制台。
2. 鼠标悬停在右上角的用户名，选择下拉列表中的"我的凭证"。 在"API凭证"页面的项目列表中查看项目。
   
 
