共计 1580 个字符,预计需要花费 4 分钟才能阅读完成。
对于 helm 部署服务
在 Kubernetes 上进行容器化部署时,应用 helm 能够简化操作,以部署 Jenkins 为例,只须要以下命令即可实现部署:
helm install --namespace helm-jenkins --name my-jenkins stable/jenkins
留神:对于 helm 部署的体验 Jenkins 的详情,请参考《》
面临的问题
上述命令部署的 Jenkins 服务,参数都是默认的,例如 CPU 和内存,如果您已装了 metrics-server,用命令 <font color=”blue”>kubectl top pod –all-namespaces</font> 能够看到 Jenkins 所占内存仅有 515 兆,如下图:
Jenkins 服务 Java 利用,如果内存不足会导致频繁的垃圾回收,下图是通过 docker exec 在 Jenkin 容器中执行 jstat 命令看到的 JVM 情况,可见 YGC 频繁,还有 FGC 呈现:
因而,helm 部署的利用,有时默认参数是不能满足咱们需要的,有必要批改;
环境信息
本次操作在以下环境进行:
- kubernetes:1.15
- jenkins:2.190.2
第一种批改形式:kubectl edit
如果利用曾经通过 helm 部署好了,用命令 <font color=”blue”>kubectl edit</font> 来批改最间接无效:
- 执行命令 <font color=”blue”>kubectl edit deployment my-jenkins -n helm-jenkins</font>,即可在线编辑名为 my-jenkins 的 deployment,操作方法和 vi 编辑文本文件一样,如下图所示,红框中是本次新增的内容,在 java 利用的启动参数中指定内存信息:
- 编辑完后,保留退出会立刻失效,如下图,可见旧 pod 正在被销毁,新 pod 启动中:
- 等 pod 创立和启动胜利后再次查看,如下图,新 pod 内存果然减少了:
第二种批改形式:改 helm 的配置文件
如果服务还没部署,可改用以下步骤部署:
- 执行命令 <font color=”blue”>helm fetch stable/jenkins</font>,执行结束后当前目录新增名为 <font color=”blue”>jenkins-0.13.5.tgz</font> 的文件;
- 解压 <font color=”blue”>jenkins-0.13.5.tgz</font> 文件:
tar -zxvf jenkins-0.13.5.tgz
- 解压后失去名为 jenkins 的文件夹,进去发现如下内容:
[root@node1 jenkins]# ls
Chart.yaml OWNERS README.md templates values.yaml
- 关上 <font color=”blue>”jenkins-0.13.5.tgz</font> 文件,如下图,外面有丰盛的配置项,留神红框地位是咱们要调整的:
- 批改上图红框中的值,这里改为 1024,如下图所示,留神要将最右边的 ”#” 删除:
- 在 values.yaml 文件所在目录执行以下命令,开始部署 Jenkins:
helm install --name-template my-jenkins -f values.yaml . --namespace helm-jenkins
- 部署实现后,执行命令 <font color=”blue”>kubectl edit deployment my-jenkins -n helm-jenkins</font> 查看以后 deployment 状态,如下图红框所示,Jenkins 服务的内存参数和前一种办法设置的成果是一样的:
- 再看看 pod 的理论内存状况,如下图,配置已失效:
以上就是 helm 部署的服务的设置形式,心愿能给您提供参考。
欢送关注我的公众号:程序员欣宸
https://github.com/zq2599/blog_demos
正文完