helm部署的服務如何修改配置


關於helm部署服務

在Kubernetes上進行容器化部署時,使用helm可以簡化操作,以部署Jenkins為例,只需要以下命令即可完成部署:

helm install --namespace helm-jenkins --name my-jenkins stable/jenkins

注意:關於helm部署的體驗Jenkins的詳情,請參考《》

面臨的問題

上述命令部署的Jenkins服務,參數都是默認的,例如CPU和內存,如果您已裝了metrics-server,用命令kubectl top pod --all-namespaces可以看到Jenkins所占內存僅有515兆,如下圖:
在這里插入圖片描述
Jenkins服務Java應用,如果內存不足會導致頻繁的垃圾回收,下圖是通過docker exec在Jenkin容器中執行jstat命令看到的JVM狀況,可見YGC頻繁,還有FGC出現:
在這里插入圖片描述
因此,helm部署的應用,有時默認參數是不能滿足我們需求的,有必要修改;

環境信息

本次操作在以下環境進行:

  1. kubernetes:1.15
  2. jenkins:2.190.2

第一種修改方式:kubectl edit

如果應用已經通過helm部署好了,用命令kubectl edit來修改最直接有效:

  1. 執行命令kubectl edit deployment my-jenkins -n helm-jenkins,即可在線編輯名為my-jenkins的deployment,操作方法和vi編輯文本文件一樣,如下圖所示,紅框中是本次新增的內容,在java應用的啟動參數中指定內存信息:
    在這里插入圖片描述
  2. 編輯完后,保存退出會立即生效,如下圖,可見舊pod正在被銷毀,新pod啟動中:
    在這里插入圖片描述
  3. 等pod創建和啟動成功后再次查看,如下圖,新pod內存果然增加了:
    在這里插入圖片描述

第二種修改方式:改helm的配置文件

如果服務還沒部署,可改用以下步驟部署:

  1. 執行命令helm fetch stable/jenkins,執行完畢后當前目錄新增名為jenkins-0.13.5.tgz的文件;
  2. 解壓jenkins-0.13.5.tgz文件:
tar -zxvf jenkins-0.13.5.tgz
  1. 解壓后得到名為jenkins的文件夾,進去發現如下內容:
[root@node1 jenkins]# ls
Chart.yaml  OWNERS  README.md  templates  values.yaml
  1. 打開<font color="blue>"jenkins-0.13.5.tgz文件,如下圖,里面有豐富的配置項,注意紅框位置是我們要調整的:
    在這里插入圖片描述
  2. 修改上圖紅框中的值,這里改為1024,如下圖所示,注意要將最左邊的"#"刪除:
    在這里插入圖片描述
  3. 在values.yaml文件所在目錄執行以下命令,開始部署Jenkins:
helm install --name-template my-jenkins -f values.yaml . --namespace helm-jenkins
  1. 部署完成后,執行命令kubectl edit deployment my-jenkins -n helm-jenkins查看當前deployment狀態,如下圖紅框所示,Jenkins服務的內存參數和前一種方法設置的效果是一樣的:
    在這里插入圖片描述
  2. 再看看pod的實際內存情況,如下圖,配置已生效:
    在這里插入圖片描述
    以上就是helm部署的服務的設置方式,希望能給您提供參考。

歡迎關注我的公眾號:程序員欣宸

https://github.com/zq2599/blog_demos


免責聲明!

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



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