关于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

helm部署的服务如何修改配置的更多相关文章

  1. 从零开始一步一步搭建Ubuntu Server服务器、修改数据源、安装Docker、配置镜像加速器、Compose部署Gitlab服务

    场景 最终目的是使用Docker Compose部署一个Gitlab服务. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序 ...

  2. SpringBoot项目部署与服务配置

    spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动.其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat).当然你也可以将项 ...

  3. Spring Boot 部署与服务配置

    Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动.其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat).当然你也可以将项 ...

  4. 十六、Spring Boot 部署与服务配置

    spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动.其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat).当然你也可以将项 ...

  5. 27. Spring Boot 部署与服务配置

    转自“https://www.cnblogs.com/zhchoutai/p/7127598.html” Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函 ...

  6. Rsync同步部署web服务端配置

    Rsync同步部署web服务端配置 1,参数详解: -v, --verbose 详细模式输出. -q, --quiet 精简输出模式. -c, --checksum 打开校验开关,强制对文件传输进行校 ...

  7. helm 部署

    Helm 基本概念 Helm 可以理解为 Kubernetes 的包管理工具,可以方便地发现.共享和使用为Kubernetes构建的应用,它包含几个基本概念 Chart:一个 Helm 包,其中包含了 ...

  8. 第五章 用Helm部署Istio

    5.1 Istio Chart概述 Helm是目前Istio官方推荐的安装方式.还可以对输入值进行一些调整,完成对Istio的部分配置工作.Istio Chart是一个总分结构,其分级结构和设计结构是 ...

  9. 用Helm部署Kubernetes应用,支持多环境部署与版本回滚

    1 前言 Helm是优秀的基于Kubernetes的包管理器.利用Helm,可以快速安装常用的Kubernetes应用,可以针对同一个应用快速部署多套环境,还可以实现运维人员与开发人员的职责分离.现在 ...

随机推荐

  1. 集成学习小结(RF、adaboost、xgboost)

    目录 回顾监督学习的一些要素 集成学习(学什么) bagging boosting 梯度提升(怎么学) GBDT Xgboost 几种模型比较 Xgboost 与 GBDT xgboost 和 LR ...

  2. Istio安全-授权(实操三)

    Istio安全-授权 目录 Istio安全-授权 授权HTTP流量 为使用HTTP流量的负载配置访问控制 卸载 授权TCP流量 部署 配置TCP负载的访问控制 卸载 使用JWT进行授权 部署 使用有效 ...

  3. Stack (30)(模拟栈,输出中间数用set)

    Stack is one of the most fundamental data structures, which is based on the principle of Last In Fir ...

  4. 自定义注解-方法重试@RetryProcess

    背景 在项目开发中,有时候会出现接口调用失败,本身调用又是异步的,如果是因为一些网络问题请求超时,总想可以重试几次把任务处理掉. 一些RPC框架,比如dubbo都是有重试机制的,但是并不是每一个项目多 ...

  5. Activiti7 获取资源信息及其查询流程历史信息

    获取资源信息 /** * 获取资源信息 * * @throws IOException */ @Test public void getProcessResources() throws IOExce ...

  6. Tomcat9w.exe无法启动为started

    问题: startup.bat可以正常启动,http://localhost:8080/ 可以正常访问.但是Tomcat9w.exe无法启动为started,一直为Stopped. 解决方案: 如下图 ...

  7. Agumaster 增加股票表台账页面

  8. 163net邮箱,对商务办公人士有哪些帮助?

    在职场当中,无论是沟通交流,还是文档对接,电子邮箱都是是必不可少的办公助手,163net付费邮箱作为很多人的首选工作邮箱,相较于免费邮箱而言,究竟有哪些优势呢?        1. 专属网络空间,有容 ...

  9. python连接websocket wss

    def websocket_wss(): try: wss = create_connection(wss_url, timeout=10) if wss.status == 101: wss.sen ...

  10. python3和python2语法区别

    1.print python2中是print xxx python3中是print(xxx) 2.抛异常except python2中except Exception,e: print "E ...