Helm部署

转载请注明出处

Helm是什么?

到目前为止,K8s的生态系统已非常庞大而且仍在不断增长中。Helm作为K8s生态的一员,是一款开源的K8s包管理器,类似于apt,yum和homebrew。使用Helm 能够从Chart repository(Helm应用仓库)快速查找、下载安装软件包并通过与K8s API Server交互构建应用,如图

在这里插入图片描述

为什么要使用Helm?

对于K8s来说,应用资源配置可以定义为K8s API对象,包括Deployment,Namespace,Service, PV(Persistent Volumes)和PVC(PersistentVolumeClaims)等等。通常一个应用的部署会涉及很多资源的共同协作,用户会定义这些API对象到一系列Yaml文件中,然后通过kubectl来逐一进行部署。

Helm,避免了我们去完成这些繁琐配置和维护过程。它能够把这些零零散散的应用资源文件放在一起进行统一配置,极大方便了开发人员对K8s集群应用的管理

Helm基础

Helm中有一些自定义的概念和术语:

  • Charts: Helm使用的打包格式,一个Chart包含了一组K8s资源集合的描述文件。Chart有特定的文件目录结构,如果开发者想自定义一个新的 Chart,只需要使用 Helm create 命令生成一个目录结构即可进行开发。
  • Release: 通过Helm将Chart部署到 K8s集群时创建的特定实例,包含了部署在容器集群内的各种应用资源。
  • Tiller: Helm 2.x版本中,Helm采用Client/Server的设计,Tiller就是Helm的Server部分,需要具备集群管理员权限才能安装到K8s集群中运行。Tiller与Helm client进行交互,接收client的请求,再与K8s API Server通信,根据传递的Charts来生成Release。而在最新的Helm 3.x中,据说是为了安全性考虑移除了Tiller。
  • Chart Repository: Helm Chart包仓库,提供了很多应用的Chart包供用户下载使用,官方仓库的地址是 https://artifacthub.io/,可以在上面发现很多有意思的项目。之后我们会在官方hub找一个应用做个简单的Demo。

Helm安装

官方文档 https://helm.sh/zh/docs/intro/install/
官方文档中提供了多种安装方式, 我们这里参考官方文档, 采用 二进制文件的方式 进行安装

1.环境说明

  • Centos 7.9
  • Docker 24.0.7
  • Kubernetes 1.23.5

2.下载

在这里插入图片描述

# 访问 https://github.com/helm/helm/releases 下载对应版本
# 这里我们下载的是 v3.14.2
wget https://get.helm.sh/helm-v3.14.2-linux-amd64.tar.gz

3.解压并移动

# 执行以下命令解压后生成 linux-amd64 目录(其他操作系统可能不一样)
tar -xf helm-v3.14.2-linux-amd64.tar.gz

# 将helm移动到需要的目录(官方文档默认的目录是/usr/local/bin/helm)
mv linux-amd64/helm /usr/local/bin/helm

# 查看版本信息
helm version
# 顺利的话, 命令执行完出现以下信息
# version.BuildInfo{Version:"v3.14.2", GitCommit:"c309b6f0ff63856811846ce18f3bdc93d2b4d54b", GitTreeState:"clean", GoVersion:"go1.21.7"}

4.添加一个稳定仓库

官方文档: https://helm.sh/zh/docs/intro/quickstart/#%e5%88%9d%e5%a7%8b%e5%8c%96

# 添加chart仓库
helm repo add bitnami https://charts.bitnami.com/bitnami

# 顺利的话出现以下信息
# "bitnami" has been added to your repositories
# 查找charts
helm search repo bitnami
# 顺利话的出现以下可被安装的charts列表



# NAME                                            CHART VERSION   APP VERSION     DESCRIPTION                                       
# bitnami/airflow                                 16.8.3          2.8.2           Apache Airflow is a tool to express and execute...
# bitnami/apache                                  10.6.2          2.4.58          Apache HTTP Server is an open-source HTTP serve...
# bitnami/apisix                                  2.9.0           3.8.0           Apache APISIX is high-performance, real-time AP...
# bitnami/appsmith                                2.7.3           1.14.0          Appsmith is an open source platform for buildin...
# bitnami/argo-cd                                 5.9.1           2.10.1          Argo CD is a continuous delivery tool for Kuber...
# bitnami/argo-workflows                          6.7.1           3.5.4           Argo Workflows is meant to orchestrate Kubernet...
# bitnami/aspnet-core                             5.6.2           8.0.2           ASP.NET Core is an open-source framework for we...
# bitnami/cassandra                               10.11.2         4.1.4           Apache Cassandra is an open source distributed ...
# ...
# ...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值