轻松学Kubernetes 的包管理器-Helm

为什么用它?

包管理器类似于我们在 Ubuntu 中使用的apt、Centos中使用的yum 或者Python中的 pip 一样,能快速查找、下载和安装软件包。

Helm 由客户端组件 helm 和服务端组件 Tiller 组成, 能够将一组K8S资源打包统一管理, 是查找、共享和使用为Kubernetes构建的软件的最佳方式。


是什么?

提示:Helm有什么特性

1、查找要安装和使用的预打包软件(Chart);
2、轻松创建和托管自己的软件包;
3、将软件包安装到任何 K8s 集群中;
4、查询集群以查看已安装和正在运行的程序包;
5、 更新、删除、回滚或查看已安装软件包的历史记录;


Helm的安装

官方安装文档:https://helm.sh/zh/docs/intro/install/

提醒:因为网络原因,我们用下载好的二进制源码包安装,或在线wget下载

//可以直接从GitHub网站上获取helm项目。或去github上直接下载

[root@master helm]# wget https://get.helm.sh/helm-v3.5.3-linux-amd64.tar.gz

1、 解压二进制包,移动到对应目录下,并给执行权限

轻松学Kubernetes 的包管理器-Helm
helm默认没有命令自动补全功能,这里我们设置一下。

source <(helm completion bash)

[root@master helm]# echo "source <(helm completion bash)" >> ~/.bashrc

查看配置信息
轻松学Kubernetes 的包管理器-Helm

2、 添加公用的仓库
注意:当前阿里云的helm仓库,还是基于k8s1.15版本部署软件。现在的k8s如果是1.18就不能使用阿里云的helm仓库了。需要更换成 微软仓库。

阿里云:helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

微软仓库:helm repo add stable http://mirror.azure.cn/kubernetes/charts
轻松学Kubernetes 的包管理器-Helm
更新命令:[root@master ~]# helm repo update
查看仓库命令:helm repo list

3、 指定对应的k8s集群,它是helm与k8s通讯的保证,这一步就是把k8s环境变量KUBECONFIG进行配置

临时生效:export KUBECONFIG=/root/.kube/config
永久生效:vim /etc/profile
KUBECONFIG=/root/.kube/config

重载配置:source /etc/profile


部署helm的charts包

1、 安装mysql包

1)Charts仓库内查找MySQL,确定安装包的名称
轻松学Kubernetes 的包管理器-Helm
执行命令安装:

helm install test-mysql stable/mysql
轻松学Kubernetes 的包管理器-Helm
可能报错:Kubernetes连接不上
轻松学Kubernetes 的包管理器-Helm
解决:可能是集群进程异常,重启Kubernetes即可!
systemctl restart kubelet

查看详情:
轻松学Kubernetes 的包管理器-Helm

2、配置文件(类似yum安装完会有配置目录及文件)

部署安装releases之后,会在/root/.cache/helm/repository目录下生产一些文件,并且会有一个tar包。
轻松学Kubernetes 的包管理器-Helm
Chart包解压后的文件释义:

Chart.yaml

chart包的概要信息。其中name和version字段相对重要一些。

README.md

记录了关于这个Chart包的使用描述信息。

values.yaml

描述了整个Chart包的所有资源对象涉及到的默认的值。

上一篇:【Rocky Linux】Rocky Linux 8.5版本全新图文安装教程并更换阿里镜像源等配置操作


下一篇:docker安装