跳到主要内容

0、Helm安装

更新于:2024年3月19日

实战:Helm安装-2022.1.17(测试成功)

image-20240308163705292

目录

[toc]

前言

首先当然需要一个可用的 Kubernetes 集群,然后在我们使用 Helm 的节点上已经配置好可以通过 kubectl 访问集群,因为 Helm 其实就是读取的 kubeconfig 文件来访问集群的

helm和kubectl一样,都是去读取的这个/root/.kube/config文件,也就是说你的kubectl在哪个地方可以使用,那么你的heml就可以在哪个地方使用。

⚠️ 注意:

由于 Helm V2 版本必须在 Kubernetes 集群中安装一个 Tiller 服务进行通信,这样大大降低了其安全性和可用性,所以在 V3 版本中移除了服务端,采用了通用的 Kubernetes CRD 资源来进行管理,这样就只需要连接上 Kubernetes 即可。而且 V3 版本已经发布了稳定版,所以我们这里来安装最新的 v3.8.0 版本,软件包下载地址为:https://github.com/helm/helm/releases,我们可以根据自己的节点选择合适的包,比如我这里是 Mac,就下载 MacOS amd64 的版本。

本次最新版本为:v3.14.2,https://get.helm.sh/helm-v3.14.3-linux-amd64.tar.gz

在Helm V2 版本里,helm是k8s中的一个命令行客户端工具,helm是tiller的客户端,tiller是一个守护进程,接收helm的请求,helm把请求交给tiller,tiler和apiserver交互,由apiserver负责完成创建。

实验环境

k8s v1.22.2(containerd://1.5.5)
helm-v3.7.2-linux-amd64

安装时间:2022年1月17日

#说明
v3.14.2 也是按这个方法安装的;

实验软件

helm-v3.7.2-linux-amd64.tar.gz

1、下载Helm软件包

我们现在都是用v3版本: helm如何安装?(安装挺简单的,就是装一个二进制文件就好(go写的程序);)

  • 来到helm官网:

[https://helm.sh/](https://helm.sh/)

  • 点击Installing Helmrtelease

  • 下载相应软件包
[root@xyy admin]#wget https://get.helm.sh/helm-v3.7.2-linux-amd64.tar.gz #我们选择linuxamd64下载即可!

  • 下载后的软件如下:
[root@master1 ~]#ll -h helm-v3.7.2-linux-amd64.tar.gz 
-rw-r--r-- 1 root root 14M Dec 9 04:32 helm-v3.7.2-linux-amd64.tar.gz

2、解压到相应路径

下载到本地解压后,将 helm 二进制包文件移动到任意的 PATH 路径下即可:

[root@master1 ~]#tar xf helm-v3.7.2-linux-amd64.tar.gz 
[root@master1 ~]#cd linux-amd64/
[root@master1 linux-amd64]#ls
helm LICENSE README.md
[root@master1 linux-amd64]#cp helm /usr/bin/
[root@master1 linux-amd64]#chmod +x /usr/bin/helm

这个是go开发都 软件包,直接放到PATH路径下就可以使用了!完美。

3、验证

[root@master1 linux-amd64]#helm version
version.BuildInfo{Version:"v3.7.2", GitCommit:"663a896f4a815053445eec4153677ddc24a0a361", GitTreeState:"clean", GoVersion:"go1.16.10"}

看到上面的版本信息证明已经成功了。

4、添加微软charts仓库

  • 添加微软charts仓库

一旦 Helm 客户端准备成功后,我们就可以添加一个 chart 仓库,当然最常用的就是官方的 Helm stable charts 仓库,但是由于官方的 charts 仓库地址需要科学上网,我们可以使用微软的 charts 仓库代替:

➜ helm repo add stable http://mirror.azure.cn/kubernetes/charts/
➜ helm repo list
NAME URL
stable http://mirror.azure.cn/kubernetes/charts/

一般情况下:我们先需要使用helm repo update更新一下仓库
➜ helm repo update
  • 用 search 命令来搜索可以安装的 chart 包

安装完成后可以用 search 命令来搜索可以安装的 chart 包:

➜ helm search repo stable
NAME CHART VERSION APP VERSION DESCRIPTION
stable/acs-engine-autoscaler 2.2.2 2.1.1 DEPRECATED Scales worker nodes within agent pools
stable/aerospike 0.3.1 v4.5.0.5 A Helm chart for Aerospike in Kubernetes
stable/airflow 5.2.1 1.10.4 Airflow is a platform to programmatically autho...
stable/ambassador 5.1.0 0.85.0 A Helm chart for Datawire Ambassador
stable/anchore-engine 1.3.7 0.5.2 Anchore container analysis and policy evaluatio...
stable/apm-server 2.1.5 7.0.0 The server receives data from the Elastic APM a...
......

5、补全helm命令

image-20230217075936537

  • 实验环境
k8s v1.22.2(containerd://1.5.5)
helm-v3.7.2-linux-amd64
Available Commands:
completion generate autocompletion scripts for the specified shell
  • 配置方法
[root@master1 ~]#echo "source <(helm completion bash)" >> ~/.bashrc
[root@master1 ~]#source ~/.bashrc
  • 验证
[root@master1 ~]#helm list #tab测试补全即可

~/.bashrc文件内容如下:

[root@master1 ~]#cat .bashrc 
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/bin:/usr/local/sbin
source <(kubectl completion bash)
source <(helm completion bash)

实验结束!

关于我

我的博客主旨:

  • 排版美观,语言精炼;
  • 文档即手册,步骤明细,拒绝埋坑,提供源码;
  • 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!

🍀 微信二维码 x2675263825 (舍得), qq:2675263825。

image-20230107215114763

🍀 微信公众号 《云原生架构师实战》

image-20230107215126971

🍀 语雀

https://www.yuque.com/xyy-onlyone

image-20230624093747671

🍀 csdn https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

image-20230107215149885

🍀 知乎 https://www.zhihu.com/people/foryouone

image-20230107215203185

最后

好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!