K8S的kind对应apiVersion类型

发布于 2021-01-14  1.36k 次阅读


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/v

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组合

  1. 1.6版本之前 apiVsersion:extensions/v1beta1
  2. 1.6版本到1.9版本之间:apps/v1beta1
  3. 1.9版本之后:apps/v1

一种简单来查询kind的方法列如 Ingress:

使用 kubectl version 查看k8s版本 可以看到这个版本是v1.15 ,高于1.9

使用kubectl explain Ingress.apiVersion|grep VERSION 查看aipversion

可以看到apiVsersion:extensions/v1beta1,根据1.9以后的可以知道apiVsersion是apps/v1