Helm部署的服务如何修改配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Helm部署的服务如何修改配置相关的知识,希望对你有一定的参考价值。

欢迎访问我的GitHub

关于helm部署服务

  • 在Kubernetes上进行容器化部署时,使用helm可以简化操作,以部署Jenkins为例,只需要以下命令即可完成部署:
helm install --namespace helm-jenkins --name my-jenkins stable/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
  3. helm版本:2.16.1

第一种修改方式:kubectl edit

  • 如果应用已经通过helm部署好了,用命令kubectl edit来修改最直接有效:

  • 执行命令 kubectl edit deployment my-jenkins -n helm-jenkins ,即可在线编辑名为 my-jenkins 的deployment,操作方法和vi编辑文本文件一样,如下图所示,红框中是本次新增的内容,在java应用的启动参数中指定内存信息:

  • 编辑完后,保存退出会立即生效,如下图,可见旧pod正在被销毁,新pod启动中:

  • 等pod创建和启动成功后再次查看,如下图,新pod内存果然增加了:

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

  • 如果服务还没部署,可改用以下步骤部署:
  • 执行命令 helm fetch stable/jenkins ,该命令会将jenkins服务相关的配置全部下载,即名为 jenkins-0.13.5.tgz 的文件;
  • 解压 jenkins-0.13.5.tgz 文件;
  • 解压后得到名为jenkins的文件夹,进去发现如下内容:
[root@node1 jenkins]# ls
Chart.yaml OWNERS README.md templates values.yaml
  • 打开values.yaml文件,如下图,里面有丰富的配置项,注意红框位置是我们要调整的:
  • 修改上图红框中的值,这里改为1024,如下图所示, 注意要将最左边的"#"删除
  • values.yaml 文件所在目录执行以下命令,开始部署Jenkins:
helm install --name-template my-jenkins -f values.yaml . --namespace helm-jenkins
  • 部署完成后,执行命令 kubectl edit deployment my-jenkins -n helm-jenkins 查看当前deployment状态,如下图红框所示,Jenkins服务的内存参数和前一种方法设置的效果是一样的:
  • 再看看pod的实际内存情况,如下图,配置已生效:
  • 以上就是helm部署的服务的设置方式,希望能给您提供参考。

欢迎关注51CTO博客:程序员欣宸

以上是关于Helm部署的服务如何修改配置的主要内容,如果未能解决你的问题,请参考以下文章

使用 Helm Charts 和 VMware Tanzu 应用程序目录简化 Kubernetes 中后备服务的部署

如何在linux下部署tomcat服务器

Jenkins-k8s-helm-harbor-githab-mysql-nfs微服务发布平台实战

Helm部署Harbor,实现高可用的镜像仓库(超详细分享)~后附踩坑记录

如何使用 Helm 更改 Prometheus 配置 scrape_interval 以进行 Prometheus 部署

安装helm服务以及搭建Helm测试环境