更新时间:2024-12-04 GMT+08:00

使用Kubernetes API

Kubernetes API说明

Kubernetes API是通过HTTP提供的基于资源 (RESTful) 的编程接口。它支持通过标准HTTP请求方法(POST、PUT、PATCH、DELETE、GET)进行查询、创建、更新和删除各类集群资源。

CCE支持通过多种方式使用原生Kubernetes API

通过集群API Server调用Kubernetes API

通过Kubernetes集群的API Server可以调用Kubernetes原生API。

  1. 获取集群证书及API Server。

    • 方式一:通过获取集群证书API获取,将返回的信息保存至kubeconfig.json文件中,并提取证书、私钥和API Server信息,命令如下。
      # 获取证书并保存为client.crt
      cat ./kubeconfig.json |grep client-certificate-data | awk -F '"' '{print $4}' | base64 -d > ./client.crt
      # 获取私钥并保存为client.key
      cat ./kubeconfig.json |grep client-key-data | awk -F '"' '{print $4}' | base64 -d > ./client.key
      # 获取API Server
      cat ./kubeconfig.json |grep server | awk -F '"' '{print $4}'
    • 方式二:通过CCE控制台的“集群信息”页面查询API Server地址(内网地址或公网地址),并下载证书(client.crt和client.key文件)。

  2. 使用集群证书调用Kubernetes原生API。

    例如使用curl命令调用接口查看Pod信息,如下所示,其中192.168.0.198:5443为集群API Server地址。

    curl --cacert ./ca.crt --cert ./client.crt --key ./client.key  https://192.168.0.198:5443/api/v1/namespaces/default/pods/

    更多集群接口请参见Kubernetes API

通过API网关调用Kubernetes API

Kubernetes原生API,可以通过API网关调用,其URL格式为:https://{clusterid}.Endpoint/uri。其中{clusterid}为集群ID,uri为资源路径,也即API访问的路径。

表1 URL中的参数说明

参数

描述

{clusterid}

集群ID,创建集群后,调用获取指定项目下的集群接口获取。

Endpoint

Web服务入口点的URL,可以从终端节点(Endpoint)中获取。

uri

资源路径,也即API访问路径。从具体接口的URI模块获取,请参见Kubernetes API