KubeSphere API 是 K8s API 的超集,沿用了 K8s API 的设计,通过 HTTP 提供了基于资源 (RESTful) 的编程接口。 它支持通过标准 HTTP 动词(POST、PUT、PATCH、DELETE、GET)来检索、创建、更新和删除主要资源。
在使用 KubeSphere API 之前,您需要先阅读并理解 K8s API 的概念。
KubeSphere 提供了 K8s API 代理,通过 /apis
、/api
前缀可以直接访问 K8s 的 API。此外,KubeSphere 在 K8s 的基础上支持额外的资源层级,包括平台级资源(例如用户、集群、企业空间等),以及企业空间级资源。KubeSphere 扩展的 API 通常以 /kapis
为前缀。
例如:
/api/v1/namespaces
/api/v1/pods
/api/v1/namespaces/my-namespace/pods
/apis/apps/v1/deployments
/apis/apps/v1/namespaces/my-namespace/deployments
/apis/apps/v1/namespaces/my-namespace/deployments/my-deployment
/kapis/iam.kubesphere.io/v1beta1/users
/kapis/tenant.kubesphere.io/v1alpha2/workspaces/my-workspace/namespaces
KubeSphere 支持 K8s 多集群纳管。只要在请求路径之前添加集群标识作为前缀,就可以通过 API 直接访问 member 集群。
例如:
/clusters/host/api/v1/namespaces
/clusters/member/api/v1/namespaces