helm架构图

helm安装 - 图1

helm client

  • 用来部署Tiller server
  • 用来管理Chart repository
  • 用来管理Chart package

    tiller

  • 用来管理release

    chart repo

二进制安装

客户端:

helm使用版本: v2.12.3 最新版本是:v2.13.1
使用二进制方式安装,安装包:helm-v2.12.3-linux-amd64.tar.gz

  1. tar -zxvf helm-v2.12.3-linux-amd64.tar.gz
  2. chmod +x helm
  3. mv helm /usr/local/bin

服务端:

初始化 tiller,指定tiller版本需要与客户端一直都为v2.12.3

  1. helm init --service-account tiller --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.12.3 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

安装可能出现的错误:

1 版本冲突

按照文档安装好helm发现使用helm list的时候报错提示版本客户端和服务端冲突,则需要升级tiller即可
image.png

2翻墙

如果使用helm init —upgrade升级发现需要翻墙,可以使用阿里云的地址。

  1. helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.12.3 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

3serviceaccount

出现过一次链接这样的错误。

[root@k8s-master ~]# helm install stable/rabbitmq --name a
Error: release a failed: namespaces "default" is forbidden: User "system:serviceaccount:kube-system:default" cannot get resource "namespaces" in API group "" in the namespace "default"

按照如下成功解决
还在理解—service-account tiller这个是啥意思。

helm init --service-account tiller  --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.12.3 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

helm查看pod yaml文件

有一个tiller的pod
image.png
查看其具体yaml信息:
image.png