本文提供了 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 中存储。