0%

Helm入门篇

Helm简介

Helm is the best way to find, share, and use software built for Kubernetes.

helm是k8s的包管理工具,就像yum之于centos,apt之于ubuntu。不同的是,yum管理的是软件包,helm管理的是配置好的k8s资源包。这种配置好的k8s资源包,按照chart的包格式进行包装。以下是wordpress的chart包结构:

1
2
3
4
5
6
7
8
9
10
wordpress/
Chart.yaml # A YAML file containing information about the chart
LICENSE # OPTIONAL: A plain text file containing the license for the chart
README.md # OPTIONAL: A human-readable README file
requirements.yaml # OPTIONAL: A YAML file listing dependencies for the chart
values.yaml # The default configuration values for this chart
charts/ # A directory containing any charts upon which this chart depends.
templates/ # A directory of templates that, when combined with values,
# will generate valid Kubernetes manifest files.
templates/NOTES.txt # OPTIONAL: A plain text file containing short usage notes

Helm2包括两个组件:客户端(Helm Client)和服务端(Tiller)。Helm发送指令给Tiller(gRPC协议),Tiller主要用于管理各种应用发布的版本,并且与k8s进行交互。
不过,在 Helm3 中 Tiller 被移除掉了,Helm直接与k8s进行交互,版本相关的数据存储在k8s中。

更多内容,参考helm/helmHelm 从入门到实践 | 从 0 开始制作一个 Helm ChartsHelm用户与开发者指南

体验Helm

越来越喜欢用katacoda来学习新技能,Helm也可以在上面通过实践学习。

安装Helm

参考 Installing Helm,安装helm。

macos

1
2
brew install helm
helm version

linux

1、查找需要的release版本

2、下载并安装

1
2
3
4
wget https://get.helm.sh/helm-v3.2.4-linux-amd64.tar.gz
tar -xzvf helm-v2.16.9-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm
helm version

使用Helm

使用条件:安装配置k8s集群;配置kubectl,可以访问k8s;安装helm。

查看帮助:

1
2
helm -h
helm get -h

1、初始化Chart仓库

1
2
3
4
# helm repo add stable https://kubernetes-charts.storage.googleapis.com/
# helm repo remove stable
helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
helm repo list

2、查看可以安装的charts
helm search repo stable

3、在k8s集群安装mysql

1
2
3
4
helm repo update
helm show chart stable/mysql
helm show all stable/mysql
helm install stable/mysql --generate-name

4、卸载mysql

1
2
3
helm ls
helm uninstall smiling-penguin
helm status smiling-penguin