zl程序教程

您现在的位置是:首页 >  APP

当前栏目

Helm

2023-04-18 15:23:32 时间

 本文主要介绍关于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