Kubernetes Helm部署

认识Helm

每次我们要部署一个应用都需要写一个配置清单(维护一套yaml文件),但是每个环境又不一样。部署一套新的环境成本是真的很高。如果我们能够使用类似于yum的工具来安装我们的应用的话那就太好了。Helm就相当于kubernetes环境下的yum包管理工具。

Helm重要概念

  • chart:是helm的一个程序包。包含了创建Kubernetes的一个应用实例的必要信息
  • repository: charts仓库,http/https服务
  • config:包含了应用发布配置信息
  • release:是一个 chart 及其配置的一个运行实例

Helm组件:

Helm Client 是用户命令行工具,其主要负责如下:

  • 本地 chart 开发
  • 仓库管理
  • 与 Tiller sever 交互
  • 发送预安装的 chart
  • 查询 release 信息
  • 要求升级或卸载已存在的 release

Tiller Server是一个部署在Kubernetes集群内部的 server,其与 Helm client、Kubernetes API server 进行交互。Tiller server 主要负责如下:

  • 监听来自 Helm client 的请求
  • 通过 chart 及其配置构建一次发布
  • 安装 chart 到Kubernetes集群,并跟踪随后的发布
  • 通过与Kubernetes交互升级或卸载 chart
  • 简单的说,client 管理 charts,而 server 管理发布 release

架构图如下:
在这里插入图片描述

在这需要注意一下3.x版本已经把Tiller给删除了直接调用Apisever、所以说如果您想使用3.x直接下载tar.gz包解压就可以使用、不需要再像2.x版本在安装一个Tiller

Helm集群兼容

具体详细请点击

Helm版本支持的 Kubernetes 版本
3.8.x1.23.x - 1.20.x
3.7.x1.22.x - 1.19.x
3.7.x1.21.x - 1.18.x
3.5.x1.20.x - 1.17.x
3.4.x1.19.x - 1.16.x
3.3.x1.18.x - 1.15.x
3.2.x1.18.x - 1.15.x
3.1.x1.17.x - 1.14.x
3.0.x1.16.x - 1.13.x

安装Helm

配置Helm客户端访问权限

Helm在集群上安装tiller服务以管理charts. 由于kubeadm默认启用RBAC, 因此我们需要使用kubectl来创建一个serviceaccountclusterrolebinding才能让tiller具有部署到集群的权限。

kubectl -n kube-system create serviceaccount tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller

安装Helm客户端

1、下载预期的版本releases

wget https://get.helm.sh/helm-v2.17.0-linux-amd64.tar.gz

2、解压缩并将可执行文件helm拷贝到/usr/local/bin目录下即可

tar zxf helm-v2.17.0-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/

安装Helm服务端

helm init --service-account tiller --tiller-image registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.17.0 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

验证Helm安装是否成功

helm version
Client: &version.Version{SemVer:“v2.17.0”, GitCommit:“a690bad98af45b015bd3da1a41f6218b1a451dbe”, GitTreeState:“clean”}
Server: &version.Version{SemVer:“v2.17.0”, GitCommit:“a690bad98af45b015bd3da1a41f6218b1a451dbe”, GitTreeState:“clean”}

注意安装完成Helm之后默认是无法Tab的如果想使用Tab键则执行以下内容
1、安装插件
yum -y install bash-completion
2、配置环境
echo 'source <(helm completion bash)' >> ~/.bashrc
3、生效
source ~/.bashrc

Helm常用命令:

release相关命令 :

  • install 安装
  • delete 删除
  • upgrade/rollback 更新/回滚
  • history 历史
  • list 查看

chart相关命令

  • create 创建
  • fetch 下载 (打包格式)
  • get 下载
  • inspect 查看chart详细信息
  • verify 校验
  • package 打包
  • search 查看哪些charts可用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维生涯记录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值