Helm
本文主要介绍关于Helm的相关概念、组件、安装
1、Helm简介
1.1 Helm是什么?
Helm是 Kubernetes 的包管理器,是 Kubernetes 中的第一个对应用程序进行管理的支撑工具。
helm类似 Ubuntu 中使用的apt、Centos中使用的yum ,能快速查找、下载和安装软件包。
1.2 为什么使用Helm ?
在Kubernetes 中部署应用会使用到k8s的多种资源,如cm、deploy、svc、secret、pv、pvc,这些 k8s 资源过于分散,不方便进行管理。直接通过 kubectl 来管理一个应用,步骤比较繁琐,随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂。
Helm可以统一管理、配置和更新这些分散的 k8s 的应用资源文件,复用一套应用模板,支持发布的版本管理和控制,很大程度上简化了Kubernetes应用的部署和管理。
使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 Kubernetes 上查找、安装、升级、回滚、卸载应用程序
1.3 Helm相关组件及概念
1、相关概念
Repository:Helm Chart包仓库,提供了很多应用的Chart包供用户下载使用
官网仓库:https://artifacthub.io/ 阿里云仓库:https://developer.aliyun.com/hub
Charts: Helm使用的打包格式,预先配置好的安装包资源。
一个Chart包含了一组K8s资源集合的描述文件(比如service, deployment, configmap, serviceaccount, rbac,等),这些要素都是以template文件的形式存在,再结合values文件,最终渲染出能够被k8s执行的yaml文件
Chart有特定的文件目录结构(template、values),如果开发者想自定义一个新的 Chart,只需要使用Helm create命令生成一个目录结构即可进行开发。
Release: 通过Helm将Chart部署到 K8s集群时创建的特定实例,包含了部署在容器集群内的各种应用资源。
可以用不同的release name多次安装同一个chart,比如:当集群中需要多个redis实例,你可以使用不同的配置文件安装redis chart。
2、相关组件:Helm客户端和Tiller服务端
Helm 客户端负责 chart 和 release 的创建和管理以及和 Tiller 的交互。
Tiller 服务端运行在 Kubernetes 集群中,它会处理Helm客户端的请求,与 Kubernetes API Server 交互。
2、Helm安装
环境说明:
该文档安装环境为CentOS Linux release 7.9.2009,内核版本为3.10.0-1160.81.1.el7.x86_64
daocker版本为:20.10.8 ,k8s相关版本为kubelet-1.21.1 kubeadm-1.21.1 kubectl-1.21.1
安装说明:
安装方法: 二进制安装,安装版本:v3.6.3
#下载 wget https://get.helm.sh/helm-v3.6.3-linux-amd64.tar.gz #解压 tar zxf helm-v3.6.3-linux-amd64.tar.gz #移动二进制文件到bin下 cp linux-amd64/helm /usr/local/bin/ #查看版本 helm version
===参考文档===
helm入门教学:https://zhuanlan.zhihu.com/p/350328164