本篇文章來自Terraform與Kubernetes中關于Deployment apps/v1的吐槽
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
* 軟件經(jīng)過很好的測試捧颅。啟用功能被認為是安全的竿刁。
* 默認情況下功能是開啟的
* 細節(jié)可能會改變黄锤,但功能在后續(xù)版本不會被刪除
stable
* 該版本名稱命名方式:vX這里X是一個整數(shù)
* 穩(wěn)定版本、放心使用
* 將出現(xiàn)在后續(xù)發(fā)布的軟件版本中
v1
Kubernetes API的穩(wěn)定版本食拜,包含很多核心對象: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 已經(jīng)遷移到了 batch/v1beta1,然后再遷入batch/v1
autoscaling/v1
代表自動擴縮容的api組合敛熬,kubernetes1.8版本中引入肺稀。
這個組合中后續(xù)的alpha 和 beta版本將支持基于memory使用量、其他監(jiān)控指標進行擴縮容
extensions/v1beta1
deployment等資源在1.6版本時放在這個版本中应民,后遷入到apps/v1beta2,再到apps/v1中統(tǒng)一管理
certificates.k8s.io/v1beta1
安全認證相關的api組合
authentication.k8s.io/v1
資源鑒權相關的api組合
二.查看當前可用的API版本
執(zhí)行 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.11
admissionregistration.k8s.io/v1alpha1
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1beta1
apiregistration.k8s.io/v1
apiregistration.k8s.io/v1beta1
apps/v1
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
events.k8s.io/v1beta1
extensions/v1beta1
networking.k8s.io/v1
policy/v1beta1
rbac.authorization.k8s.io/v1
rbac.authorization.k8s.io/v1beta1
scheduling.k8s.io/v1beta1
settings.k8s.io/v1alpha1
storage.k8s.io/v1
storage.k8s.io/v1alpha1
storage.k8s.io/v1beta1
v1