Helm 是 Kubernetes 的软件包管理工具。本文需要读者对 Docker、Kubernetes 等相关知识有一定的了解。 本文将介绍 Helm 中的相关概念和基本工作原理,并通过一些简单的示例来演示如何使用Helm来安装、升级、回滚一个 Kubernetes 应用。
helm 是 Kubernetes 的包管理器。包管理器类似于我们在 Ubuntu 中使用的apt、Centos中使用的 yum 或者Python中的 pip 一样,能快速查找、下载和安装软件包。Helm 由客户端组件 helm 和服务端组件 Tiller 组成,能够将一组K8S资源打包统一管理,是查找、共享和使用为Kubernetes构建的软件的最佳方式。
helm解决的问题
Helm 包含两个组件,分别是 helm 客户端
和 Tiller 服务器
:
1,Helm3.x的优势
helm3只有一个客户端,没有服务端,所以安装起来很方便,把相应的程序下下来即可,不需要helm init安装了。
相对于helm2,helm3有几大特性:
开始安装
1,下载最新的helm二进制包
wget https://get.helm.sh/helm-v3.5.2-linux-amd64.tar.gz
2,解压并移动二进制文件至可执行目录
tar xzvf helm-v3.5.2-linux-amd64.tar.gz
chmod +x linux-amd64/helm
mv linux-amd64/helm /usr/bin/
3,验证
helm version
version.BuildInfo{Version:"v3.5.2", GitCommit:"167aac70832d3a384f65f9745335e9fb40169dc2", GitTreeState:"dirty", GoVersion:"go1.15.7"}
1,添加helm仓库
添加ES的helm仓库并查看helm的仓库列表
helm repo add elastic https://helm.elastic.co
2 ,查看是否添加成功
$ helm repo list
NAME URL
elastic https://helm.elastic.co
3,获取指定版本的包
获取指定版本es的chart包
helm pull --version 7.13.2 elastic/elasticsearch
ls |grep ela
elasticsearch-7.13.2.tgz
4,解压Chart包并根据需要修改values.yaml文件
tar xzvf elasticsearch-7.13.2.tgz
cd elasticsearch-7.13.2
vim values.yaml
##将replicas:字段修改为1
5,执行安装,#es1为安装名称,efk为namespace
$ helm3 install es1 -nefk ./
6,查看helm安装状态是否正常
kubectl get all -nefk
详情请参考:
kubernetes(k8s) - 实战进阶篇:使用Helm安装、升级、回滚 Kubernetes 应用(七) - 知乎
Kubernetes包管理:Helm2 升级 Helm3 - 走看看 https://www.putianhui.cn/posts/639b1cad12a9/#helm%E5%AE%89%E8%A3%85ES%E9%9B%86%E7%BE%A4