K8s——Helm

目录

前言:

一、Helm

1、Helm的本质

2、Helm的三个重要的概念

①Chart:

②Repository(仓库)

③Relase:

3、Helm3 与 Helm2 的区别:

二、Helm部署

1、安装helm

2、使用 helm 安装 Chart

①添加常用的 chart 仓库

②更新 charts 列表

③查看 stable 仓库可用的 charts 列表

④删除

⑤查看chart信息

⑥安装chart

⑦查看所有release

⑧查看指定的release状态

⑨删除指定的release

3、Helm自定义v

①拉取chart

②chart 是包含至少两项内容的helm软件包:

②-①软件包自描述文件 Chart.yaml,这个文件必须有 name 和 version(chart版本) 的定义

②-②一个或多个模板,其中包含 Kubernetes 清单文件:

4、创建自定义的chart

5、修改chart

6、打包chart

7、部署chart

8、部署ingress

9、修改为nodeport访问后升级

10、回滚

三、Helm仓库

1、安装 harbor

2、安装带有 Clair service 和 chart 仓库服务的 Harbor

3、安装 push 插件

4、登录 Harbor WEB UI 界面,创建一个新项目

5、添加仓库

6、推送 chart 到 harbor 中


前言:

在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment、svc 等,步骤较繁琐。 况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,helm 通过打包的方式,支持发布的版本管理和控制, 很大程度上简化了 Kubernetes 应用的部署和管理。

一、Helm

1、Helm的本质

Helm 本质就是让 K8s 的应用管理(Deployment、Service 等)可配置,可以通过类似于传递环境变量的方式能动态生成。通过动态生成 K8s 资源清单文件(deployment.yaml、service.yaml)。然后调用 Kubectl 自动执行 K8s 资源部署。

Helm 是官方提供的类似于 YUM 的包管理器,是部署环境的流程封装。Helm 有三个重要的概念:Chart 、Repository 和 Release

2、Helm的三个重要的概念

①Chart:

Helm 的软件包,采用 TAR 格式。类似于 APT 的 DEB 包或者 YUM 的 RPM 包,其包含了一组定义 Kubernetes 资源相关的 YAML 文件。

②Repository(仓库)

Helm 的软件仓库,Repository 本质上是一个 Web 服务器,该服务器保存了一系列的 Chart 软件包以供用户下载,并且提供了一个该 Repository 的 Chart 包的清单文件以供查询。Helm 可以同时管理多个不同的 Repository。

③Relase:

Release:使用 helm install 命令在 Kubernetes 集群中部署的 Chart 称为 Release。可以理解为 Helm 使用 Chart 包部署的一个应用实例。一个 chart 通常可以在同一个集群中安装多次。每一次安装都会创建一个新的 release。

以 MySQL chart 为例,如果你想在你的集群中运行两个数据库,你可以安装该 chart 两次。每一个数据库都会拥有它自己的 release 和 release name。可以将 release 想象成应用程序发布的版本号。

总结:Helm 安装 charts 到 Kubernetes 集群中,每次安装都会创建一个新的 release。你可以在 Helm 的 chart repositories 中寻找新的 chart。

3、Helm3 与 Helm2 的区别:

Helm2 是 C/S 架构,主要分为客户端 helm 和服务端 Tiller。在 Helm 2 中,Tiller 是作为一个 Deployment 部署在 kube-system 命名空间中,很多情况下,我们会为 Tiller 准备一个 ServiceAccount ,这个 ServiceAccount 通常拥有集群的所有权限。
用户可以使用本地 Helm 命令,自由地连接到 Tiller 中并通过 Tiller 创建、修改、删除任意命名空间下的任意资源。

在 Helm 3 中,Tiller 被移除了。新的 Helm 客户端会像 kubectl 命令一样,读取本地的 kubeconfig 文件,使用我们在 kubeconfig 中预先定义好的权限来进行一系列操作。
Helm 的官方网站 https://helm.sh/

二、Helm部署

1、安装helm

下载二进制 Helm client 安装包
https://github.com/helm/helm/tags

tar -zxvf helm-v3.6.0-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm
helm version

//命令补全
source <(helm completion bash)

2、使用 helm 安装 Chart

①添加常用的 chart 仓库
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add stable http://mirror.azure.cn/kubernetes/charts
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
helm repo add incubator https://charts.helm.sh/incubator

②更新 charts 列表
helm repo update          
helm repo list

③查看 stable 仓库可用的 charts 列表
helm search repo stable

④删除

helm repo remove incubator

⑤查看chart信息
helm show chart stable/mysql     #查看指定 chart 的基本信息
helm show all stable/mysql		 #获取指定 chart 的所有信息

⑥安装chart
helm install my-redis bitnami/redis [-n default]   #指定 release 的名字为 my-redis,-n 指定部署到 k8s 的 namespace

helm install bitnami/redis --generate-name    #不指定 release 的名字时,需使用 –generate-name 随机生成一个名字

⑦查看所有release
helm ls 
helm list

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值