API的定义
Kubernetes API是通过HTTP提供的基于资源 (RESTful) 的编程接口。它是Kubernetes控制平面的核心部分,由API服务器暴露HTTP API以供使用。 从本质上讲,它就像是Kubernetes这个庞大系统对外提供服务的窗口,通过这个窗口,用户、集群内部的不同组件以及外部的相关组件都能够进行交互通信
官网: kubernetes.io/zh-cn/docs/…
API的特点和构成
Kubernetes 控制面的核心是API服务器,API 服务器负责提供 HTTP API,负责处理接受请求的工作,以供用户、集群中的不同部分和集群外部组件相互通信。API 服务器是 Kubernetes 控制平面的前端
Kubernetes API 服务器的主要实现是 kube-apiserver。 kube-apiserver 设计上考虑了水平扩缩,也就是说,它可通过部署多个实例来进行扩缩。 你可以运行 kube-apiserver 的多个实例,并在这些实例之间平衡流量
支持通过标准的HTTP动词(POST、PUT、PATCH、DELETE、GET)来检索、创建、更新和删除这些主要资源
API的使用
查看集群支持的API类型
# kubectl api-resources
大部分操作都可以通过 kubectl 命令行接口或类似 kubeadm 这类命令行工具来执行, 这些工具在背后也是调用 API。
你也可以使用 REST 调用来访问这些 API
使用API得几种方式
一:配置使用kubectl
方式1:
获取kubeconfig
执行
# kubectl get node
方式2:
获取kubeconfig:
K8S集群的配置文件存储在master节点上的~/.kube/config文件中,将此文件拷贝到本地(例如拷贝为clusterkubeconfig),然后执行如下指令:
# kubectl --kubeconfig=clusterkubeconfig get node
二:直接使用restapi方式
curl -H "Authorization: Bearer <token>" https://<api_server_address>/api/v1