Helm简介,安装与使用

第 1 篇 Helm 简介及安装 Helm 入门,先介绍,再安装。 阅读详情

背景:

      应用编排一直是docker生态中,大家极力去解决的问题,作为docker生态中,发展最快的调度和编排引擎Kubernetes,其对应用的部署能力离大家的预期还有比较大的提升空间。
     helm作为Kubernetes一个包管理引擎,基于chart的概念,有效的对Kubernetes上应用的部署进行了优化。Chart通过模板引擎,下方对接Kubernetes中services模型,上端打造包管理仓库。最后的使得Kubernetes中,对应用的部署能够达到像使用apt-get和yum一样简单易用。


Helm简介:

      Helm把Kubernetes资源(比如deployments、services或 ingress等) 打包到一个chart中,而chart被保存到chart仓库。通过chart仓库可用来存储和分享chart。Helm使发布可配置,支持发布应用配置的版本管理,简化了Kubernetes部署应用的版本控制、打包、发布、删除、更新等操作。


安装 (前提k8s版本大于等于1.4.1,本地有kubectl的配置文件.kube/config)

i.Helm client安装

.下载 wget https://storage.googleapis.com/kubernetes-helm/helm-v2.6.1-linux-amd64.tar.gz

.解包并将二进制文件helm拷贝到/usr/local/bin目录下

  tar -zxvf helm-v2.6.1-linux-amd64.tgz && mv linux-amd64/helm /usr/local/bin/helm


2.Helm server安装(Helm Tiller是Helm的server)

    Tiller有多种安装方式,比如本地安装或以pod形式部署到Kubernetes集群中。本文以pod安装为例,安装Tiller的最简单方式是helm init, 该命令会检查helm本地环境设置是否正确,helm init会连接kubectl默认连接的kubernetes集群(可以通过kubectl config view查看),一旦连接集群成功,tiller会被安装到kube-system namespace中。

     helm init  在缺省配置下, Helm 会利用 "gcr.io/kubernetes-helm/tiller" 镜像在Kubernetes集群上安装配置 Tiller;并且利用 "https://kubernetes-charts.storage.googleapis.com" 作为缺省的 stable repository 的地址。由于在国内可能无法访问 "gcr.io", "storage.googleapis.com" 等域名,阿里云容器服务为此提供了镜像站点。

请执行如下命令利用阿里云的镜像来配置 Helm

helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.5.1 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
添加google官方仓库:helm repo add google https://kubernetes-charts.storage.googleapis.com

执行helm init,该命令会在当前目录下创建helm文件夹即~/.helm,并且通过Kubernetes Deployment 部署tiller. 检查Tiller是否成功安装:

     $kubectl get po -n kube-system

相关参数

  - 安装金丝雀build: –canary-image
  - 安装指定image:-–tiller-image
  - 指定某一个Kubernetes集群:–kube-context
  - 指定namespace安装:–tiller-namespace

 验证

    $helm version

 如果报错如下:

 Client: &version.Version{SemVer:"v2.6.1", GitCommit:"bbc1f71dc03afc5f00c6ac84b9308f8ecb4f39ac", GitTreeState:"clean"}
E0921 16:19:09.448738   24295 portforward.go:331] an error occurred forwarding 39401 -> 44134: error forwarding port 44134 to pod 5b85aa2aa4347d59ea30edf466a7e01a198780151d30644a16b5cab4ceb2b83d, uid : unable to do port forwarding: socat not found.
Error: cannot connect to Tiller

解决办法:在k8s的node节点安装ssocat即可解决

$sudo yum install socat

遇到的另外一个问题,$helm list -a,报错 Error: the server has asked for the client to provide credentials (get configmaps)

解决方法:

.创建sericeaccount

  $kubectl create serviceaccount --namespace kube-system tiller

  $kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller

  $kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'

.run helm

  $helm init --service-account tiller --tiller-image 4admin2root/tiller:v2.6.0 --upgrade


删除Tiller:

  $helm reset   或 $helm reset -f(强制删除k8s集群上的pod.)

  当要移除helm init创建的目录等数据时,执行helm reset --remove-helm-home



部署release

.$helm search jenkins

.$helm install --name my-release --set Persistence.StorageClass=slow stable/jenkins (不加--set参数会出现SchedulerPredicates failed due to PersistentVolumeClaim is not bound: "my-release-jenkins", which is unexpected问题)

.$helm get my-release

查看状态 $helm status my-release 或通过$helm list -a 查看全部的release

更新版本 $helm upgrade my-release -f mysql/values.yaml --set resources.requests.memory=1024Mi my-release

版本回滚 $helm rollback mysql 1  //1为版本号,可以添加 --debug打印调试信息

查看release的版本信息  $helm hist my-release

删除release  $helm delete my-release  ,可以通过$helm ls -a myrelease来确认是否删除,还可以通过回滚来恢复已经删除的release,如果希望彻底删除的话$helm delette --purge my-release


补充:其实部署有多种方式:

  

   如果要覆盖chart中的默认值,通过指定配置文件方式  helm install -f myvalues.yaml ./redis

   或通过--set key=value方式  helm install --set name=prod ./redis

   例:helm install -n mysql -f mysql/values.yaml --set resources.requests.memory=512Mi mysql



使用第三方chat库

。添加fabric8库

    $helm repo add fabric8 https://fabric8.io/helm

。搜索fabric8提供的工具(主要就是fabric8-platform工具包,包含了CI,CD的全套工具)

    $helm search fabric8

29-资源清单的管理工具-helm 如下图所示,在一个企业中,可能存在多个不同的应用业务,每个业务可能包含多至十几、甚至几十个资源清单,那么对于“运维”和“研发”人员来讲,这么多的资源清单,通过人力去区分辨别,即便有“名称空间namespace”和不同“路径目录”来进行区分,也是非常吃力的; 所以,我们就需要借助k8s资源清单的管理工具,进行以业务为单位的资源清单管理,通过一些手段,来实现业务的升级、回滚等等操作在一个文件上(通过helm的values.yaml文件),一个文件就能够管理一套业务体系,进而压缩、减轻了运维压力实现 阅读详情

相关推荐

Helm的资源安装和基本使用

Usage:​completion 为指定的shell生成自动补全脚本create 创建一个指定了名称的chartdependency 管理chart依赖env Helm客户端环境信息get 下载release,可接all、hooks、manifest、notes、valuesall-获取所有已安装的release的信息。名称、状态、版本等hooks-获取指定 release 的 pre-install、post-install、pre-delete 和 post-delete 钩子的信息。

树下一少年的博客 2391

helm安装

helm安装学习

weixin_67405599的博客 2906

Helm简介及阿里云安装部署

声明:这是我在大学毕业后进入第一家互联网工作学习的内容 背景 最近新项目要通过Helm部署,然后我发现生产环境使用的是阿里云托管型kubernetes(全部都是node节点,无Mater)没有安装Helm,貌似还要用阿里云企业镜像服务,但是我感觉应该没有这么坑,因为线下用的是自己搭建的集群,直接安装Helm搭建私人仓库即可用。 周末加个班学习下Helm到底是咋回事,虽然一直在使用命令部署,不过还没深入研究下。 Helm简介 Helm官网解释 Helm是查找,共享和使用为 Kubernetes而构建的软.

ITRugod的博客 2661

【Helm三部曲】 Helm 简介及安装

介绍 Helm 及安装方法,通过绘制架构图与Docker 做了一个简单对比

小子宝丁的博客 2601

Cursor概述及环境配置

Cursor 是一款基于 AI 的代码编辑器,支持 VS Code 配置迁移和 Java 开发环境配置。主要功能分为 Cursor Settings(AI 相关设置)和 Editor Settings(基础编辑器设置)。用户可通过一键导入或手动方式迁移 VS Code 配置,配置包括主题、扩展和快捷键等。对于 Java 开发,需配置 JDK 和 Maven 路径,并安装 Java 扩展插件以获得完整开发体验,如代码补全、调试和 Maven 项目管理。此外,Cursor 支持汉化配置,用户可安装中文语言包切换

Knight 3552

光学系统设计:波段、光源、光纤与探测器匹配指南

在光学测量和光纤通信系统中,波段、光源、光纤和探测器的匹配关系是系统设计的核心基础。波段指电磁波谱中的特定波长范围,光源负责产生特定波长的光信号,光纤作为传输介质需要与波长匹配以降低损耗,探测器则负责将光信号转换为电信号。理解各组件的光谱特性对于系统性能至关重要,例如在850nm短波长多模光纤系统中,VCSEL激光器与PIN光电二极管的组合能提供最佳性价比。典型应用场景包括生物医学成像、光纤通信和气体传感,其中光谱重叠优化、模场直径匹配和偏振特性协调是关键技术要点。通过实测数据对比不同组合的传输性能,可以为

weixin_33812433的博客 338

kubernetes之helm简介、安装、配置

在我们yum管理工具,主要解决的是包之间的依赖问题,而我们的helm工具是安装服务的问题,在我们的k8s中的包管理工具helm,它可以通过一些仓库去下载一些我们想要yalm文件,我们去修改这些yalm文件对应的属性就可以安装对应我们想要的系统信息。Helm是kubernetes生态系统中的一个软件包管理工具,类似ubuntu的apt,centos的yum或python的pip一样,专门负责管理kubernetes应用资源;

Java后端技术栈 2680

ABB机器人将实时坐标发送给西门子PLC的具体方法示例

ABB机器人将实时坐标发送给西门子PLC的具体方法示例

Robot_PLC_HMI_Automation 4914

Helm简介、安装、配置、使用!

Helm是Kubernetes的包管理器,类似于Ubuntu的apt或Python的pip,用于快速查找、下载和安装软件包。Helm由客户端组件helm和服务端组件Tiller组成,能够将一组Kubernetes资源打包统一管理。Helm3移除了Tiller,直接在客户端解析charts并调用Kubernetes API部署资源声明文件,同时将charts release的版本信息保存至对应Kubernetes应用部署所在命名空间下的secret中。Helm3的安装可以通过二进制包、包管理器或源码编译进行,

https://ophome.blog.youkuaiyun.com,在IT行业有多年的工作经验,尤其是在Python、Linux、负载均衡、Nginx和服务器运维等领域。 1724

【HAL库】STM32CubeMX开发----STM32F407----ETH+LWIP----TCPclient客户端

STM32F407开发板 为TCPclient客户端,PC端 为TCPserver服务端,相互之间的发送和接收实验。

MQ0522的博客 3048

OpenCV 基于上升距离计算边缘清晰度

OpenCV 基于上升距离计算边缘清晰度

dayuhaitang1的博客 254

Helm简介及安装

前提条件 一个kubernetes集群 安装和配置集群端服务Helm和Tiller 确定要应用于安装的安全配置(如果有) 1、安装HELM 每一个版本HELM提供多种操作系统的二进制版本。可以手动下载和安装这些版本。 1、下载想要的版本 2、打开包(tar -zxvf helm-v2.9.0-linux-amd64.tar.gz) 3、将解压文件移动到所需位置(mv lin...

weixin_30511107的博客 122

R语言中的混淆矩阵(Confusion Matrix)是一种常用的评估多分类模型性能的工具

除了准确率,混淆矩阵还提供了其他有用的指标,如灵敏度(Sensitivity)、特异度(Specificity)、精确度(Precision)和召回率(Recall)。混淆矩阵通过比较模型预测结果与实际标签的一致性,帮助我们了解模型的分类准确性和错误类型。此外,混淆矩阵还提供了各种错误类型的统计信息,如假阳性(False Positive)和假阴性(False Negative)等。通过混淆矩阵,我们可以了解模型的整体性能和错误类型,从而对模型进行评估和改进。最后,为了更好地理解混淆矩阵的结果,可以使用。

HackSquad的博客 972

helm简介、安装、配置、使用指南

转载自:https://blog.youkuaiyun.com/bbwangj/article/details/81087911 目录 helm简介 Helm 组件及相关术语 Helm Tiller Chart Repoistory Release Helm工作原理 helm部署 一、Helm 客户端安装 二、Helm 服务端安装Tiller 三、给 Tiller 授权 四、验证 ...

dixialaoshu4的专栏 1746

SAP_MM模块采购价格确定控制简介

SAP MM模块采购价格确定控制是采购管理中的关键功能,系统通过"价格确定日期"判断条件记录有效性并带出正确价格。文章分析了四种常见业务场景及其对应的价格确定方案:普通采购订单(创建日期)、长期合同(交货日期)、特殊业务(手动输入)和接口下单(系统传入)。详细介绍了配置方法和前台操作步骤,并提供了不同业务类型对应的推荐控制方式汇总表。通过合理设置价格确定日期控制,企业可以确保采购价格准确性,满足各种复杂业务场景下价格管理的需求,从而提高采购管理效率和成本控制能力。

我小时候很黑的博客 738

UG\NX二次开发 替换部件引用集UF_ASSEM_replace_refset

替换部件引用集UF_ASSEM_replace_refset,需要替换成“完整部件(Entire Part)”需要第三个参数传入空指针或者空字符串。

王牌飞行员_里海的博客 255

kubernetes之helm简介、安装、配置、使用指南

目录 helm简介 Helm 组件及相关术语 Helm Tiller Chart Repoistory Release Helm工作原理 helm部署 一、Helm 客户端安装 二、Helm 服务端安装Tiller 三、给 Tiller 授权 四、验证 Tiller 是否安装成功 五、卸载 Helm 服务器端 Tiller 六、Helm 使用 Helm Chart ...

菲宇运维 14万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

helm简介、安装、应用

Helm 是 Kubernetes 生态系统中的一个软件包管理工具。本文将介绍 Helm 中的相关概念和基本工作原理,并通过一个具体的示例学习如何使用 Helm 打包、分发、安装、升级及回退 Kubernetes 应用。 Kubernetes 应用部署的挑战 Kubernetes 是一个提供了基于容器的应用集群管理解决方案,Kubernetes 为容器化应用提供了部署运行、资源调度、服务发现和...

qq_38695182的博客 2112

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

helm系列1--helm简介及安装

helm简介Helm is the best way to find, share, and use software built forKubernetes.Helm之于Kubernetes好比yum之于RHEL,或者apt-get之于Ubuntu。Helm使用Chart帮助我们管理应用,Chart就好像RPM一样,里面描述了应用及其依赖关系。主要概念:Chart:Helm管理的应用部署包,一个...

u013289746的博客 2230

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Helm v2简介,安装及使用体验

Helm v2简介 Helm把Kubernetes资源(比如deployments、services或 ingress等) 打包到一个chart中,而chart被保存到chart仓库。通过chart仓库可用来存储和分享chart。Helm使发布可配置,支持发布应用配置的版本管理,简化了Kubernetes部署应用的版本控制、打包、发布、删除、更新等操作。 Helm v2由两个主要的组件构成:Hel...

Bluejoy Jing 的博客 1542
上一篇: Automatically deploying GlusterFS with Puppet-Gluster + Vagrant!
下一篇: openshift/origin学习记录(7)——集成Jenkins服务
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值