K8S的apiVersion版本詳解


K8S的apiVersion版本詳解

 


1. 背景

Kubernetes的官方文檔中並沒有對apiVersion的詳細解釋,而且因為K8S本身版本也在快速迭代,有些資源在低版本還在beta階段,到了高版本就變成了stable。

如Deployment:

  • 1.6版本之前 apiVsersion:extensions/v1beta1
  • 1.6版本到1.9版本之間:apps/v1beta1
  • 1.9版本之后:apps/v1

2. 各種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/v1beta1apps/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組合

3. 查看k8s集群版本及當前可用的API版本

 

kubectl version  #查看k8s集群版本

Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-01T20:08:12Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-01T20:00:57Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}

 

 

執行 kubectl api-versions

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
autoscaling/v2beta2
batch/v1
batch/v1beta1
certificates.k8s.io/v1beta1
coordination.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
storage.k8s.io/v1
storage.k8s.io/v1beta1
v1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM