准备运行组件或管理 API 命令

在运行组件 API 命令之前,检索认证令牌并下载集群的 CA 证书。

  1. 安装 Kubernetes 命令行 (kubectl)。 请参阅从 kubectl CLI 访问集群
  2. (可选)安装 IBM Cloud Private 命令行界面 (CLI) 并登录您的集群。 请参阅安装 IBM Cloud Private CLI
  3. 检索认证令牌。 您可以使用 IBM Cloud Private CLI 或运行 curl 命令。

    • 要使用 IBM Cloud Private CLI,请运行以下命令:

      cloudctl tokens
      

      访问令牌和标识令牌显示:

      Access token:  Bearer jHVcaGjSuWEXGUPeH8WVnoqUyex5kJDlCl4DnZMQN2WseErIoVWDW5cY1Ikvoqdhxkou4bvHYJM77U2FZf2aKbo3h2FeH1OJpaEwj8rpGiDLusaXc54rJbnefbjAv4OECvk2tg9gIeJAx6DZlmlknDXB6zM0bkGtqayP94L8gSXtzPoW6miuoR8dFD5Du63OjVBVZljw5ajOWBtvYzR1ttamH4SRMflEVWC3AxcBhtkadMCAsdWFi1KRGUoVM5k0TkuPFP7AAX8vryEpakeVqBQfbR2m0OlRBTRbkNJoacPp7AesyGLBjPVElQs01FCz3xhMNHkQJAFT0T0xhbhDj3DgenAjJd5eSNWxdTLSfhOaQClfx6BLq5Z0e8S0Uhp2NSWqNVkU49fHuTHW2UwxG84nvwpz4ZxYJaP3m6DZv5lTwKcbQkB3w9cLr8pgUaC94IZ9gJhYvprMR1NKz4etFgNPmhA4T1NS8NVVgMHBYOptv1qAdKSNzZ2l6V23h2BquFpVQ2MqE6Lcx0N0j1ZoRVuYo1qTrIkOpEBNbn94b3PHNJMVO2v1NqV85G6uNgPdvv85eneHItsIfUc5yXMeYLXZ017trlhxj43lLVsEyUaM7S5dfykayqVgsaJ9faHYz6F14oRKJCbwhg7y4ybxxxR5KtCKihXgf5QJJXYmsrimudD8KXMVsQKEyHFETzVR7eNMRZvcohFKBPwZdIntkcpLygMmZK4Gaz6pD3t4PTkVXKAWQsPTepJ57FfP9kNkPU6BDxf9X7skBrsRFD3ldCdFUMi0lxOmkBakmXHLODRmmZl73bKuIKFT7lZAXY0Rn3d5NzXcyzVODRNXnMyRW9c2NLvhYQe0ltdR8dIDtRbsh1AQEC5P1eI9XGhBLcAqhU0oBe7k5rMzQXL44TtYMo9NccsgMjNsfToyCqezocgfmLYjqZOUnRbBG7ymn5FJECzOd8X1KagaXqzlSmDtD7cRzZms3iA8FE85cWaK
      ID token:  eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdF9oYXNoIjoiN2p2MmFjeGtucHVpcXo1MXRna2giLCJyZWFsbU5hbWUiOiJjdXN0b21SZWFsbSIsInVuaXF1ZVNlY3VyaXR5TmFtZSI6ImFkbWluIiwiaXNzIjoiaHR0cHM6Ly9teWNsdXN0ZXIuaWNwOjk0NDMvb2lkYy9lbmRwb2ludC9PUCIsImF1ZCI6ImY4YjVjZGE1YTgzZjg4NjZhOTIxMTQ2MGU5YTk4YzQ4IiwiZXhwIjoxNTA4MjYwODc4LCJpYXQiOjE1MDgyNjA4NzgsInN1YiI6ImFkbWluIn0.IrLm1R9a4GBiTG0wYR1JhGqT4HSArN3gPHhPPTC4ZuS46LulRQCBksxh9I59uT4pYcqhd0qJ_xp9Ys1H8xLsq1zKSI0W2KAzuFkIbXQiK9Q6_Z3oQOHE8XMG7Xfb0R8B4TgbTjQ3XWkEkXsyeliXk0l7mqlVIgTFbXx8nqcoFbXhmH7ZQukj73lMQ0AyKKPpJktWtPCLpugtiTA0nkKUodncvHdSw43bmVQuGsQ_kRhhr8Ka8y_olYcBtYUSAKqdwiGPu6O0Qk-57FCiUmX4W9pjLRAR9EmILY9RqJAsH5kE11kYHPTO2fu-B6omzw2eKxhjZYHMIPmxUciiBRB9Pw
      

      当您登录到 CLI 时,这些令牌存储在 /<user_folder>/.bluemix/plugins/icp/config.json 文件中,其中,<user_folder> 是用户目录的路径,例如 macOS 上的 /Users/my_username

    • 要使用 curl,请运行以下命令,其中 <cluster_lb_address> 是用于访问 IBM Cloud Private management console 的 IP 地址:

      curl -k -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" -d "grant_type=password&username=admin&password=admin&scope=openid" https://<cluster_lb_address>:8443/idprovider/v1/auth/identitytoken
      

      此命令返回 access_tokenrefresh_tokenid_token,如以下示例中所示:

      "refresh_token":"kxr337rAXlA0dm8Gx3e7DjJYOXOfrunKM4znvSGhQGjWNvvh05",
      "id_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdF9oYXNoIjoiZm9ldTgxZzJrOTVyaXNiajJrcHoiLCJyZWFsbU5hbWUiOiJjdXN0b21SZWFsbSIsInVuaXF1ZVNlY3VyaXR5TmFtZSI6ImFkbWluIiwiaXNzIjoiaHR0cHM6Ly9teWNsdXN0ZXIuaWNwOjk0NDMvb2lkYy9lbmRwb2ludC9PUCIsImF1ZCI6ImE2OWVlNjM5MjZlMDA0MmYzZWVlNGYyOTE4MDViNjMyIiwiZXhwIjoxNTA3OTgzODIxLCJpYXQiOjE1MDc5ODM4MjEsInN1YiI6ImFkbWluIn0.ZvE0eApr6SiAYbx7zSicEjdtWsUL8dq4UdttZsQpoB7eWFFioIC1R52ub2jlrwQqjITfHDtc7eUyK0QXOHIalXheX61DoAseTVxi2fELZqG_weKPe4LOeo4LENsoRx8P_Jfv8iQh5zmsrKxBeZCn5gWre5LPOE34CF8F-b0RJO2axEY2m0KOiXOQGD4ltYGNzMdzp5LeaGENTOUM2ayrvpHFBhLxAtF0RpK5NuyNvlKO3t33DPGSWOUy_q19fasM9ZN6Z2R73fRHtuC9lMDooQKJdAtqwcJ4Y2T7RyzJEp9pvarcGUDr5X3YJ0dI-XJlT-fJJ6rHxddHQRvtCAGUvw"}
      
  4. 将认证令牌存储在变量中。 您可在请求头中指定认证令牌,以访问 IBM Cloud Private API(包括 Kubernetes 和 Heapster)。 运行以下命令,其中 <ID token> 是显示的标识令牌:

     export ID_TOKEN=<ID token>
    
  5. 将访问令牌存储在变量中。 您可在请求头中指定访问令牌,以访问 IBM Cloud Private 用户管理 API。 运行以下命令,其中 <Access token> 是如下所示的访问令牌:

     export ACCESS_TOKEN=<Access token>
    
  1. 获取集群的 CA 证书副本。

    • 如果您可以访问引导节点,那么 CA 证书文件为 /<installation_directory>/cluster/etc/docker/certs.d/mycluster.icp:8500/ca.crt

    • 要使用 IBM Cloud Private CLI:

      1. 确保根据需要使用 cloudctl 登录。 这会将集群的证书放入 cloudctl 配置目录中。
      2. 确认认证证书可用。 运行以下命令,其中 <user_folder> 是用户主目录的路径,例如 macOS 上的 /Users/my_username<cluster>是集群名称。 此文件路径是在稍后步骤中使用的 <certificate_path> 变量:

        ls <user_folder>/.cloudctl/clusters/<cluster_name>
        

        ca.crt 文件随即显示,如以下输出所示:

        ca.pem        cert.pem    key.pem        kube-config    kube-config.bat