本文提供了 Kubernetes API 的参考信息。
REST API 是 Kubernetes 的基本结构。 所有操作和组件之间的通信及外部用户命令都是调用 API 服务器处理的 REST API。 因此,Kubernetes 平台视一切皆为 API 对象, 且它们在 API 中有相应的定义。
Kubernetes API 参考 列出了 Kubernetes v1.35 版本的 API。
如需了解一般背景信息,请查阅 Kubernetes API。 Kubernetes API 控制访问描述了客户端如何向 Kubernetes API 服务器进行身份认证以及他们的请求如何被鉴权。
JSON 和 Protobuf 序列化模式遵循相同的模式更改原则。 以下描述涵盖了这两种格式。
API 版本控制和软件版本控制是间接相关的。 API 和发布版本控制提案描述了 API 版本控制和软件版本控制间的关系。
不同的 API 版本代表着不同的稳定性和支持级别。 你可以在 API 变更文档 中查看到更多的不同级别的判定标准。
下面是每个级别的摘要:
alpha(例如:v1alpha1)。kube-apiserver 配置中显式启用才能使用。Beta:
beta(例如:v2beta3)。kube-apiserver 配置中显式启用才能使用
(例外情况是 Kubernetes 1.22 之前引入的 Beta 版本的 API,这些 API 默认被启用)。请尝试 Beta 版时特性时并提供反馈。 特性完成 Beta 阶段测试后,就可能不会有太多的变更了。
vX,其中 X 为整数。API 组能够简化对
Kubernetes API 的扩展。API 组信息出现在 REST 路径中,也出现在序列化对象的 apiVersion 字段中。
以下是 Kubernetes 中的几个组:
/api/v1。
核心组并不作为 apiVersion 字段的一部分,例如, apiVersion: v1。/apis/$GROUP_NAME/$VERSION,
并且使用 apiVersion: $GROUP_NAME/$VERSION (例如,apiVersion: batch/v1)。
你可以在 Kubernetes API 参考文档
中查看全部的 API 组。资源和 API 组是在默认情况下被启用的。
你可以通过在 API 服务器上设置 --runtime-config 参数来启用或禁用它们。
--runtime-config 参数接受逗号分隔的 <key>[=<value>] 对,
来描述 API 服务器的运行时配置。如果省略了 =<value> 部分,那么视其指定为 =true。
例如:
batch/v1,对应参数设置 --runtime-config=batch/v1=falsebatch/v2alpha1,对应参数设置 --runtime-config=batch/v2alpha1storage.k8s.io/v1beta1/csistoragecapacities,可以设置
--runtime-config=storage.k8s.io/v1beta1/csistoragecapacities启用或禁用组或资源时,
你需要重启 API 服务器和控制器管理器来使 --runtime-config 生效。
Kubernetes 通过 API 资源来将序列化的状态写到 etcd 中存储。