KubeSphere API 概念

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