Helm入门(一)

Helm是Kubernetes的包管理工具,如果比作操作系统,那么Helm就好比yum,apt-get,homebrew。使用Helm chart可以方便我们部署和管理自己的应用。
Helm 安装 charts 到 Kubernetes 集群中,每次安装都会创建一个新的 release。

环境准备:

  • 一个 Kubernetes 集群
  • 安装和配置Helm
Helm和对应支持的Kubernetes版本
Helm 版本 支持的 Kubernetes 版本
3.7.x 1.22.x - 1.19.x
3.6.x 1.21.x - 1.18.x
3.5.x 1.20.x - 1.17.x
3.4.x 1.19.x - 1.16.x
3.3.x 1.18.x - 1.15.x
3.2.x 1.18.x - 1.15.x
3.1.x 1.17.x - 1.14.x
3.0.x 1.16.x - 1.13.x
2.16.x 1.16.x - 1.15.x
2.15.x 1.15.x - 1.14.x
2.14.x 1.14.x - 1.13.x
2.13.x 1.13.x - 1.12.x
2.12.x 1.12.x - 1.11.x
2.11.x 1.11.x - 1.10.x
2.10.x 1.10.x - 1.9.x
2.9.x 1.10.x - 1.9.x
2.8.x 1.9.x - 1.8.x
2.7.x 1.8.x - 1.7.x
2.6.x 1.7.x - 1.6.x
2.5.x 1.6.x - 1.5.x
2.4.x 1.6.x - 1.5.x
2.3.x 1.5.x - 1.4.x
2.2.x 1.5.x - 1.4.x
2.1.x 1.5.x - 1.4.x
2.0.x 1.4.x - 1.3.x

安装Helm

二进制版本安装::
1、 下载 需要的版本
2、解压,并移动到/usr/local/bin/目录

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

3、输入helm version查看安装结果

[root@localhost ~]# helm version
version.BuildInfo{Version:"v3.2.1", GitCommit:"fe51cd1e31e6a202cba7dead9552a6d418ded79a", GitTreeState:"clean", GoVersion:"go1.13.10"}

初始化

添加一个chart仓库

[root@localhost ~]# helm repo add bitnami https://charts.bitnami.com/bitnami
"bitnami" has been added to your repositories
[root@localhost ~]#
[root@localhost ~]# helm repo list
NAME            URL
sonarqube       https://SonarSource.github.io/helm-chart-sonarqube
bitnami         https://charts.bitnami.com/bitnami
[root@localhost ~]#

添加仓库完成后,可以看到可以安装的charts列表

[root@localhost ~]# helm search repo bitnami
NAME                                            CHART VERSION   APP VERSION     DESCRIPTION
bitnami/bitnami-common                          0.0.9           0.0.9           DEPRECATED Chart with custom templates used in ...
bitnami/airflow                                 11.1.13         2.2.3           Apache Airflow is a platform to programmaticall...
bitnami/apache                                  8.11.1          2.4.52          Chart for Apache HTTP Server
bitnami/argo-cd                                 2.0.19          2.2.1           Declarative, GitOps continuous delivery tool fo...
bitnami/argo-workflows                          0.1.13          3.2.6           Argo Workflows is meant to orchestrate Kubernet...
bitnami/aspnet-core                             2.0.3           3.1.22          ASP.NET Core is an open-source framework create...
bitnami/cassandra                               9.0.10          4.0.1           Apache Cassandra is a free and open-source dist...
bitnami/cert-manager                            0.1.29          1.6.1           Cert Manager is a Kubernetes add-on to automate...
bitnami/common                                  1.10.3          1.10.0          A Library Helm Chart for grouping common logic ...
bitnami/concourse                               0.1.17          7.6.0           Concourse is a pipeline-based continuous thing-...
bitnami/consul                                  10.1.8          1.11.1          Highly available and distributed service discov...

安装chart

通过helm install命令安装官方的bitnami charts。每当执行 helm install的时候,都会创建一个新的发布版本。 所以一个chart在同一个集群里面可以被安装多次,每一个都可以被独立的管理和升级。

[root@localhost ~]# helm repo update      #从chart仓库获取最新的charts列表
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "sonarqube" chart repository
...Successfully got an update from the "bitnami" chart repository
Update Complete. ⎈ Happy Helming!⎈
[root@localhost ~]#
[root@localhost ~]# helm install bitnami/mysql --generate-name
NAME: mysql-1640865343
LAST DEPLOYED: Thu Dec 30 19:55:45 2021
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: mysql
CHART VERSION: 8.8.18
APP VERSION: 8.0.27
······

Helm按照以下顺序安装资源:
Namespace
NetworkPolicy
ResourceQuota
LimitRange
PodSecurityPolicy
PodDisruptionBudget
ServiceAccount
Secret
SecretList
ConfigMap
StorageClass
PersistentVolume
PersistentVolumeClaim
CustomResourceDefinition
ClusterRole
ClusterRoleList
ClusterRoleBinding
ClusterRoleBindingList
Role
RoleList
RoleBinding
RoleBindingList
Service
DaemonSet
Pod
ReplicationController
ReplicaSet
Deployment
HorizontalPodAutoscaler
StatefulSet
Job
CronJob
Ingress
APIService

安装完成后,可以通过执行 helm show chart bitnami/mysql命令简单的了解到这个chart的基本信息。 也可以执行 helm show all bitnami/mysql获取关于该chart的所有信息。
使用helm list (或 helm ls) 命令列出所有被部署的版本。

[root@localhost ~]# helm list
NAME                    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART           APP VERSION
mysql-1640865343        default         1               2021-12-30 19:55:45.743915295 +0800 CST deployed        mysql-8.8.18    8.0.27
mysql-1640865721        default         1               2021-12-30 20:02:04.3998849 +0800 CST   deployed        mysql-8.8.18    8.0.27

卸载版本

使用helm uninstall命令卸载版本,该命令会从Kubernetes卸载 mysql-1640865721, 它将删除和该版本相关的所有相关资源(service、deployment、 pod等等)甚至版本历史。
如果在执行helm uninstall的时候提供--keep-history 选项, Helm将会保存版本历史。 可以通过命令helm status查看该版本的信息。

[root@localhost ~]# helm uninstall mysql-1640865721
release "mysql-1640865721" uninstalled
[root@localhost ~]# helm status mysql-1640865721
Error: release: not found
[root@localhost ~]#
[root@localhost ~]# helm uninstall mysql-1640865343 --keep-history
release "mysql-1640865343" uninstalled
[root@localhost ~]# helm status mysql-1640865343
NAME: mysql-1640865343
LAST DEPLOYED: Thu Dec 30 19:55:45 2021
NAMESPACE: default
STATUS: uninstalled
REVISION: 1
TEST SUITE: None
NOTES:
CHART NAME: mysql
CHART VERSION: 8.8.18
APP VERSION: 8.0.27
······

查看帮助信息

使用helm help命令,或者在任意命令后添加-h选项:helm list -h

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,539评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,594评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,871评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,963评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,984评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,763评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,468评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,850评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,002评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,144评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,823评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,483评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,026评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,150评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,415评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,092评论 2 355

推荐阅读更多精彩内容