2017-04-04 88 views
1

比方說,我有一個簡單的部署kubernetes配置:如何管理持續交付的kubernetes部署yaml文件?

kind: Deployment 
apiVersion: extensions/v1beta1 
metadata: 
    name: backend 
spec: 
    replicas: 1 
    template: 
    metadata: 
     name: backend 
    spec: 
     containers: 
     - name: backend 
     image: backend:1.0.0 
     resources: 
      limits: 
      memory: "500Mi" 
      cpu: "100m" 
     imagePullPolicy: Always 

我想有持續部署。

  • 一種方式做到這一點是簡單地使用這個文件創建和更新運行類似kubectl set image deployment/backend backend=backend:1.1.0。但是,如果稍後我想改變限制,我將不得不找出當前的版本運行,取代yaml文件並應用它?似乎累贅

  • 谷歌似乎使用sed更換image version in their example,而這種作品的罰款,如果你kubernetes配置文件存儲在同一回購爲你的代碼。而如果他們存儲在其他地方,或者你的構建需要相當長的時間?因此,只需更改一個屬性即可完成整個構建過程(可能太長)

  • 有一個腳本可以在每次部署後根據版本輸入自動生成yaml文件,並且始終僅編輯模板(但是再次,您在哪裏存儲最後部署的版本?)

  • 某些第三方工具?

回答

1

頭盔圖表成爲日益流行的管理kubernetes部署的方式。簡而言之,它允許您通過簡單配置僅定義所需的變量來生成部署,並且還具有內置的升級機制。換句話說,它提供了元部署。

參考以下docs.