关于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. day03 每日一行

    day03 每日一行 问题描述 用列表解释式 .生成器表达式实现 字典列表为: [{'first': 'john', 'last': 'smith', 'email': 'jsmith@exsampl ...

  2. Vue根据条件添加 click 事件

    方式一:在绑定事件中直接添加标示量clickFlag <div @click="clickFlag && addGoodsHandler()"> XXX ...

  3. Laravel Reponse 响应客户端

    Laravel Response 响应客户端 本篇文章逻辑较长,只说明和响应生命周期相关的必要代码. 本文主要内容顺序为: 1.执行上文管道中的then方法指定的闭包,路由的分发 2.在路由器中(Ro ...

  4. Spine学习九 - 冰冻效果

    想象这样一个效果,一个人被冰霜攻击命中,然后这个人整个就被冰冻了,那么spine动画要如何实现这个效果呢? 1.首先需要一个Spine动画,这个动画应该是相对静止的,因为人物已经被冰冻了,那么这个人儿 ...

  5. 【HttpRunner v3.x】笔记—8.用例引用、变量传递

    看到这里,对于httprunner已经有了一个大概的了解,现在想对于一些比较重要或者常用的功能,进行一些实践操作. 毕竟那谁说过,"纸上得来终觉浅,绝知此事要躬行." 上一篇提到了 ...

  6. SpringBoot系列之从入门到精通系列教程

    对应SpringBoot系列博客专栏,例子代码,本博客不定时更新 Spring框架:作为JavaEE框架领域的一款重要的开源框架,在企业应用开发中有着很重要的作用,同时Spring框架及其子框架很多, ...

  7. 基于PHP实现CMS识别

    最近正在开发一款基于PHP实现的Web安全检测平台,写到了CMS识别这一功能,便写一篇文章总结一下. 首先需要梳理的是CMS识别的几种方法: 1.网页源代码特征:例如源代码中包含CMS的名称或是某种特 ...

  8. 跟着兄弟连系统学习Linux-【day10】

    day11-20200610 p36.源码包安装过程 (1)安装前需要准备工作 安装gcc编译器(前两期已经安装) 源码保存位置/usr/local/src 软件安装位置:/usr/local/ (2 ...

  9. JVM学习第二天(垃圾回收器和内存分配策略)大章

    说道垃圾回收器大家应该都会有所了解,GC白,当然说道具体的可能就不是很清楚了,今天我们就来玩一玩; GC要做的事情: 第一步:确定堆中需要回收的对象; 第二步:什么时候回收; 第三步:怎样回收 为什么 ...

  10. 把Employees显示在页面上

    项目代码下载:https://files.cnblogs.com/files/xiandedanteng/gatling20200429-1.zip 需求:从后台DB取出雇员数据,显示在前台页面上: ...