Helm部署的服务如何修改配置
【摘要】 helm给我们提供了易用的配置,但是默认配置可能满足不了我们需要,因此需要做些修改,本文提供了两种修改配置的方式供大家参考
欢迎访问我的GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
关于helm部署服务
- 在Kubernetes上进行容器化部署时,使用helm可以简化操作,以部署Jenkins为例,只需要以下命令即可完成部署:
helm install --namespace helm-jenkins --name my-jenkins stable/jenkins
- 注:关于helm部署的体验Jenkins的详情,请参考《Helm部署和体验jenkins》
面临的问题
- 上述命令部署的Jenkins服务,参数都是默认的,例如CPU和内存,如果您已装了metrics-server,用命令kubectl top pod --all-namespaces可以看到Jenkins所占内存仅有515兆,如下图:
- Jenkins服务是Java应用,如果内存不足会导致频繁的垃圾回收,下图是通过docker exec在Jenkin容器中执行jstat命令看到的JVM状况,可见YGC频繁,还有FGC出现:
- 因此,helm部署的应用,有时默认参数不能满足我们的需求,有必要修改;
环境信息
- 本次操作在以下环境进行:
- kubernetes:1.15
- jenkins:2.190.2
- 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部署的服务的设置方式,希望能给您提供参考。
欢迎关注华为云博客:程序员欣宸
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)