kubernetes apiVersion 介绍
apiVersion 命名规则
group/version
- group 省略为核心组
- version 版本介绍
- alpha
- 该软件可能包含错误。启用一个功能可能会导致bug
- 随时可能会丢弃对该功能的支持,恕不另行通知
- beta
- 软件经过很好的测试。启用功能被认为是安全的。
- 默认情况下功能是开启的
- 细节可能会改变,但功能在后续版本不会被删除
- stable
- 该版本名称命名方式:vX这里X是一个整数
- 稳定版本、放心使用
- 将出现在后续发布的软件版本中
支持的 apiVersion
$ kubectl api-versions
admissionregistration.k8s.io/v1
apiextensions.k8s.io/v1
apiregistration.k8s.io/v1
apps/v1
authentication.k8s.io/v1
authorization.k8s.io/v1
autoscaling/v1
autoscaling/v2
autoscaling/v2beta1
autoscaling/v2beta2
batch/v1
batch/v1beta1
certificates.k8s.io/v1
coordination.k8s.io/v1
discovery.k8s.io/v1
discovery.k8s.io/v1beta1
events.k8s.io/v1
events.k8s.io/v1beta1
flowcontrol.apiserver.k8s.io/v1beta1
flowcontrol.apiserver.k8s.io/v1beta2
networking.k8s.io/v1
node.k8s.io/v1
node.k8s.io/v1beta1
policy/v1
policy/v1beta1
rbac.authorization.k8s.io/v1
scheduling.k8s.io/v1
storage.k8s.io/v1
storage.k8s.io/v1beta1
v1
示例
v1
Kubernetes API的稳定版本,包含很多核心对象:pod、service等
apps/v1beta2
- 在
kubernetes1.8
版本中,新增加了apps/v1beta2
的概念,apps/v1beta1
同理
- DaemonSet,Deployment,ReplicaSet 和 StatefulSet 的当时版本迁入apps/v1beta2,兼容原有的extensions/v1beta1
apps/v1
在kubernetes1.9
版本中,引入apps/v1
,deployment
等资源从extensions/v1beta1
, apps/v1beta1
和 apps/v1beta2
迁入apps/v1
,原来的v1beta1
等被废弃。
apps/v1代表:包含一些通用的应用层的api组合,如:Deployments、RollingUpdates and ReplicaSets
batch/v1
代表job相关的api组合
在kubernetes1.8版本中,新增了batch/v1beta1
,后CronJob
已经迁移到了 batch/v1beta1
,然后再迁入batch/v1
autoscaling/v1
代表自动扩缩容的api组合,kubernetes1.8版本中引入。
这个组合中后续的alpha 和 beta版本将支持基于memory使用量、其他监控指标进行扩缩容
extensions/v1beta1
deployment
等资源在1.6
版本时放在这个版本中,后迁入到apps/v1beta2
,再到apps/v1
中统一管理
certificates.k8s.io/v1beta1
安全认证相关的api组合
authentication.k8s.io/v1
资源鉴权相关的api组合