Kubernetes的官方文檔中並沒有對apiVersion的詳細解釋,而且因為K8S本身版本也在快速迭代,有些資源在低版本還在beta階段,到了高版本就變成了stable。
如Deployment:
1.6版本之前 apiVsersion:extensions/v1beta1 1.6版本到1.9版本之間:apps/v1beta1 1.9版本之后:apps/v1
一.各種apiVersion的含義
alpha
* 該軟件可能包含錯誤。啟用一個功能可能會導致bug
* 隨時可能會丟棄對該功能的支持,恕不另行通知
beta
* 軟件經過很好的測試。啟用功能被認為是安全的。
* 默認情況下功能是開啟的
* 細節可能會改變,但功能在后續版本不會被刪除
stable
* 該版本名稱命名方式:vX這里X是一個整數
* 穩定版本、放心使用
* 將出現在后續發布的軟件版本中
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組合
二.查看當前可用的API版本
執行 kubectl api-versions
kubernetes 1.8
apiextensions.k8s.io/v1beta1 apiregistration.k8s.io/v1beta1 apps/v1beta1 apps/v1beta2 authentication.k8s.io/v1 authentication.k8s.io/v1beta1 authorization.k8s.io/v1 authorization.k8s.io/v1beta1 autoscaling/v1 autoscaling/v2beta1 batch/v1 batch/v1beta1 certificates.k8s.io/v1beta1 extensions/v1beta1 networking.k8s.io/v1 policy/v1beta1 rbac.authorization.k8s.io/v1 rbac.authorization.k8s.io/v1beta1 settings.k8s.io/v1alpha1 storage.k8s.io/v1 storage.k8s.io/v1beta1 v1
kubernetes 1.14
[root@vm192-168-0-9 data]# kubectl api-versions admissionregistration.k8s.io/v1 admissionregistration.k8s.io/v1beta1 apiextensions.k8s.io/v1 apiextensions.k8s.io/v1beta1 apiregistration.k8s.io/v1 apiregistration.k8s.io/v1beta1 apps/v1 authentication.k8s.io/v1 authentication.k8s.io/v1beta1 authorization.k8s.io/v1 authorization.k8s.io/v1beta1 autoscaling/v1 autoscaling/v2beta1 autoscaling/v2beta2 batch/v1 batch/v1beta1 ceph.rook.io/v1 certificates.k8s.io/v1beta1 coordination.k8s.io/v1 coordination.k8s.io/v1beta1 crd.projectcalico.org/v1 events.k8s.io/v1beta1 extensions/v1beta1 networking.k8s.io/v1 networking.k8s.io/v1beta1 node.k8s.io/v1beta1 objectbucket.io/v1alpha1 policy/v1beta1 rbac.authorization.k8s.io/v1 rbac.authorization.k8s.io/v1beta1 rook.io/v1alpha2 scheduling.k8s.io/v1 scheduling.k8s.io/v1beta1 snapshot.storage.k8s.io/v1alpha1 storage.k8s.io/v1 storage.k8s.io/v1beta1 v1