iT邦幫忙

2021 iThome 鐵人賽

DAY 25
0
DevOps

k8s歷險記系列 第 25

Day25-設定大風吹 使用複數values.yaml

  • 分享至 

  • xImage
  •  

在前一章我們學到chart是如何運作的,他能夠將values內的值帶入deployment.yaml內,不過如果需要隨著不同站別切換不同設定,單一個values.yaml是不夠的,而這一章就會來教學如何依照不同環境,切換不同的values

複數 values

首先我們先建立一個chart:

    helm create nginx-demo

並且直接install他

helm install nginx-demo  nginx-demo

這時用kubectl get pod可以看到他只會有一個pod
https://ithelp.ithome.com.tw/upload/images/20211003/20129607jql6kCgoW5.png

然後我們建立一個values-dev.yaml的檔案,其內容如下

replicaCount: 3

再來透過helm upgrade 更新chart

helm upgrade -f values-dev.yaml nginx-demo nginx-demo

修改完之後用kubectl get pod看一下pod數量,可以看到pod數量變成3。
https://ithelp.ithome.com.tw/upload/images/20211003/20129607Ttl02Eb4Aw.png

這樣就可以看出來,透過這種方式,可以在不同環境套用不同設定,修改參數,而沒有指定的參數則會維持values.yaml的原始設定。
加上 -f這個指令並非只能指定一個,而是可以指定多個values
例如我們再建立一個values-port-dev.yaml
內容如下

service:
  type: ClusterIP
  port: 8080

然後用下面方式更新helm

helm upgrade -f values-dev.yaml -f values-port-dev.yaml nginx-demo nginx-demo

就可以將其port號改掉,同理也可以套用於image版本或是db密碼等等。
再來配合CI/CD,例如:Drone ,Jenkin之類的工具,和分支策略,就可以做出不同站別,不同設定檔的部署了。

透過這幾章,我們簡單瞭解了Helm,在下一章則會開始介紹不同的工具。


上一篇
Day24-DIY總是比較麻煩 如何建立chart
下一篇
Day26-不是k8s的升級版 k9s
系列文
k8s歷險記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言