Kubernetes API Groups (API 组)

原创
半兽人 发表于: 2018-11-30   最后更新时间: 2021-05-19 16:21:17  
{{totalSubscript}} 订阅, 11,414 游览

为了更容易对API进行扩展,Kubernetes 使用API Groups (API组)进行标识。APIGroups 以及REST URL中的路径进行定义。当前支持两类API groups

  • Core Groups (核心组),也可以称为Legacy Groups,该组的REST路径位于/api/v1, 作为 Kubernetes 最核心的 API,它是没有“组”的概念,例如 ”vl“,在资源对象的定义中表示为”apiVersion: v1“。

  • 具有分组信息的API,以/apis/$GROUP_NAME/$VERSIONURL路径进行标识,在资源对象的定义中表示为apiVersion: $GROUP_NAME/$VERSION(例如,apiVersion: batch/v1)。已支持的 API 组详细列表请参阅 Kubernetes API reference

例如 Pod 的 API 说明如图所示,由于 Pod 属于核心资源对象,所以不存在某个扩展 API Group,页面显示为“Core" 在Pod的定义中为“apiVersion:v1”。

screenshot

如果要启用或禁用特定的 API 组,则需要在 API Server 的启动参数中设置--runtime-config进行声明,例如--runtime-config=batch/v2alphal表示启用API组的 “batch/v2alpha1”,也可以设置--runtime-config=batch/v1=false表示禁用API组“batch/v1”。多个 API组的设置以逗号分隔。在当前的API Server服务中,DaemonSetsDeploymentsHorizontalPodAutoscalersIngressJobsReplicaSets所属的 API 组是默认启用的。

在未来的演进中, Kubernetes 将支持用户自定义资源对象和对它们的基本CRUD操作。 伴随着自定义资源对象,Kubernetes 的未来版本还将支持用户自定义API Server,与 Kubernetes MasterAPI Server共同工作,完成更复杂的资源对象管理工作。

更新于 2021-05-19

Marion 2年前

开头处"Kubemetes"写错了

半兽人 -> Marion 2年前

感谢,已修正。

查看kubernetes更多相关的文章或提一个关于kubernetes的问题,也可以与我们一起分享文章