更新时间: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:(推荐)直接连接集群API Server,适合大规模调用。
- 通过API网关调用Kubernetes API:适合小规模调用场景,大规模调用时可能会触发API网关流控。
通过集群API Server调用Kubernetes API
通过Kubernetes集群的API Server可以调用Kubernetes原生API。
- 获取集群证书及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文件)。
- 方式一:通过获取集群证书API获取,将返回的信息保存至kubeconfig.json文件中,并提取证书、私钥和API Server信息,命令如下。
- 使用集群证书调用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访问的路径。
参数 |
描述 |
---|---|
{clusterid} |
集群ID,创建集群后,调用获取指定项目下的集群接口获取。 |
Endpoint |
Web服务入口点的URL,可以从终端节点(Endpoint)中获取。 |
uri |
资源路径,也即API访问路径。从具体接口的URI模块获取,请参见Kubernetes API。 |
相关文档
- 使用Kubernetes API访问集群
- Kubernetes官方SDK(包括Go、Python、Java等语言)
语言
客户端库
样例程序
C
dotnet
Go
Haskell
Java
JavaScript
Perl
Python
Ruby