kubernetes1.11安装Helm管理部署Kubernetes应用

Helm 基本概念

Helm 可以理解为 Kubernetes 的包管理工具,可以方便地发现、共享和使用为Kubernetes构建的应用,它包含几个基本概念

Chart:一个 Helm 包,其中包含了运行一个应用所需要的镜像、依赖和资源定义等,还可能包含 Kubernetes 集群中的服务定义,类似 Homebrew 中的 formula,APT 的 dpkg 或者 Yum 的 rpm 文件,
Release: 在 Kubernetes 集群上运行的 Chart 的一个实例。在同一个集群上,一个 Chart 可以安装很多次。每次安装都会创建一个新的 release。例如一个 MySQL Chart,如果想在服务器上运行两个数据库,就可以把这个 Chart 安装两次。每次安装都会生成自己的 Release,会有自己的 Release 名称。
Repository:用于发布和存储 Chart 的仓库。

Helm 组件

Helm 采用客户端/服务器架构,有如下组件组成:

Helm CLI 是 Helm 客户端,可以在本地执行
从最新https://github.com/helm/helm/releases,下载helm-v2.9.1-linux-amd64.tar.gz到本地,解压后把二进制直接放到环境PATH下即可
Tiller 是服务器端组件,在 Kubernetes 群集上运行,并管理 Kubernetes 应用程序的生命周期
Repository 是 Chart 仓库,Helm客户端通过HTTP协议来访问仓库中Chart的索引文件和压缩包。

安装Helm

Helm 会利用 “gcr.io/kubernetes-helm/tiller” 镜像在Kubernetes集群上安装配置 Tiller;并且利用 “https://kubernetes-charts.storage.googleapis.com“ 作为缺省的 stable repository 的地址。由于在国内可能无法访问 “gcr.io”, “storage.googleapis.com” 等域名.可以使用阿里云提供的table repository 的地址

1
2
3
wget https://storage.googleapis.com/kubernetes-helm/helm-v2.9.1-linux-amd64.tar.gz
tar -zxvf helm-v2.9.1-linux-amd64.tar.gz &&\
cp linux-amd64/helm /opt/kube/bin/ && chmod +x /opt/kube/bin/helm

执行下面命令安装
未使用SSL/TLS认证机制

1
2
$helm init --upgrade -i 192.168.19.111/gc/tiller:v2.5.1 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
kubectl get pod --all-namespaces|grep tiller

若要查看在存储库中可用的所有 Helm charts

1
2
3
helm search  //看在存储库中可用的所有 Helm charts
helm repo update //更新charts列表以获取最新版本
helm list //查看在群集上安装的Charts列表

crt