Helm入门简介

1. 简 介

  • 什么是 Helm ?
    Helm 是 Kuberetes(即 k8s)的包管理器,类似于 Ubuntu 的 apt-get ,CentOS 的 yum,用于管理 Chart 。
  • 什么是Chart?
    Helm Chart 或者 Chart 是一个包,一个以 .tgz 为后缀的包,通过 Helm 的命令 helm package 打包出来的。它里面包含了一系列用于部署 Kubernetes 应用程序的 yaml 文件。
  • Helm 解决了什么问题?
    在 Kubernetes 中部署一个可以使用的应用,往往涉及到很多的 Kubernetes 资源的共同协作。比如你安装一个 WordPress 博客,用到 Kubernetes (下面全部简称 k8s )的一些资源对象,例如 Deployment 用于部署应用、Service 提供服务发现、Secret 配置 WordPress 的用户名和密码,可能还需要 pv 和 pvc 来提供持久化服务等等。而这些 k8s 资源显然是分散的,不方便进行管理,直接通过 kubectl 来管理一个应用,你会发现十分麻烦。因此用 Helm 来处理这些事,优势就出来了。

2. Helm的安装

Helm 是用在 Kubernetes 中的,所以它的安装,有前提条件,起码是在一个 Kubernetes 集群中。

2.1 用Helm项目安装

这是官方提供的获取 Helm 发布版本的方法。

  • 二进制方式安装 Helm
# 1、安装wget
yum -y install wget
# 2、下载helm二进制包 官方下载地址https://github.com/helm/helm/releases
wget https://get.helm.sh/helm-v3.7.1-linux-amd64.tar.gz
# 3、解压二进制包
tar -xzvf helm-v3.7.1-linux-amd64.tar.gz
# 4、移动二进制文件到test下
mv linux-amd64/helm /usr/test/helm
# 5、删除二进制包及解压文件
rm -rf helm-v3.7.1-linux-amd64.tar.gz linux-amd64
  • 使用脚本安装
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
2.2 通过包管理器安装

Helm 社区提供了通过操作系统包管理器安装 Helm 的方式。但 Helm 项目不支持且不认为是可信的第三方。

  • 使用 Homebrew (macOS)
brew install helm
  • 使用 Chocolatey (Windows)
choco install kubernetes-helm
  • 使用 Scoop (Windows)
scoop install helm
  • 使用 Apt (Debian/Ubuntu)
curl https://baltocdn.com/helm/signing.asc | sudo apt-key add -
sudo apt-get install apt-transport-https --yes
echo "deb https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm
  • 使用 Snap
sudo snap install helm --classic
  • 使用 pkg (FreeBSD)
pkg install helm
2.3 验证安装结果

执行下面的命令,查看安装的helm版本,如果返回有版本信息,则安装成功。

helm version
2.4 为Helm配置仓库

仓库的作用:管理和分发 Helm Charts。

2.4.1 安装harbor仓库

安装 harbor 的步骤如下:

  • helm repo add harbor https://helm.goharbor.io
  • helm fetch harbor/harbor
  • 修改values.yaml
  • helm install my-harbor harbor -n harbor
  • helm list -n harbor
  • 登录 harbor,默认账号密码 admin/Harbor23456
2.4.2 通过仓库安装Chart
helm install my-nginx harbor/nginx -n harbor

3. 开发Helm应用的流程

  1. 创建Chart目录
helm create hello-chart

chart.yaml:声明了当前 Chart 的名称、版本等基本信息
values.yaml:提供应用安装时的默认参数
templates/:包含应用部署所需要使用的 yaml 文件,如 Deployment 和 Service 等
charts/:当前 Chart 依赖的其它 Chart

  1. 渲染 Chart 并输出
helm template hello-chart
  1. 安装 hello-chart
helm install hello hello-chart/ -n default
  1. 打包 Chart
helm package hello-chart
  1. 将开发好的 Chart 包推送到 harbor 应用仓库
helm push hello-chart.tgz harbor-repo
  1. 其他人想要安装你开发的这个 Chart 包,连接上 harbor 仓库,然后像 2.4.2 的步骤安装就好,也可将离线包发给他人
  2. 开发 Helm 应用就是开发 Chart 包,难点在于编写 Chart 包的逻辑,所以当一个项目比较复杂时,要处理的 k8s 资源文件是非常多的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值