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安装在k8s集群的master上

下载helm到主k8s集群的master上

#wget https://storage.googleapis.com/kubernetes-helm/helm-v2.13.1-linux-amd64.tar.gz

将文件解压并复制到指定位置

#tar -zxvf helm-v2.13.1-linux-amd64.tar.gz 

#cd linux-amd64/

#cp helm /usr/local/bin/

创建配置文件

因为Kubernetes APIServer开启了RBAC访问控制,所以需要创建tiller使用的service account: tiller并分配合适的角色给它。 详细内容可以查看helm文档中的[Role-based Access Control](https://docs.helm.sh/using_helm/#role-based-access-control)。 这里简单起见直接分配 cluster-admin 这个集群内置的 ClusterRole 给它。创建 rbac-config.yaml 文件:

#vim rbac-config.yaml

apiVersion: v1

kind: ServiceAccount

metadata:

  name: tiller

  namespace: kube-system

---

apiVersion: rbac.authorization.k8s.io/v1beta1

kind: ClusterRoleBinding

metadata:

  name: tiller

roleRef:

  apiGroup: rbac.authorization.k8s.io

  kind: ClusterRole

  name: cluster-admin

subjects:

  - kind: ServiceAccount

    name: tiller

    namespace: kube-syste

执行配置文件,创建ServiceAccount

#kubectl apply -f rbac-config.yaml

image.png

部署tiller

#docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.13.1

image.png

#helm init --service-account tiller --skip-refresh --tiller-image=registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.13.1

image.png

查看tiller信息

#helm version

image.png

查看tiller pod状态

#kubectl get pod -n kube-system -l app=helm

image.png

更查helm仓库

#helm repo update

image.png

查看helm所需要的镜像

# helm search

使用helm查看redis镜像

# helm search redis

image.png

使用helm安装redis

#helm install stable/redis-ha

kubernetes1.14.0 安装 helm 教程_第1张图片

查看helm所安装的镜像

# helm list --all

image.png

卸载helm 所安装的redis

# helm delete plinking-dolphin

image.png

永久删除镜像

#  helm del --purge plinking-dolphin

image.png