k8s~helm的安装过程

上一讲说了一些helm的基本概念,而今天主要说一下如何把helm部署到服务器上,在helm3之前的版本里,它由客户端helm和服务端tiller组成,而helm3.0之后它去掉了tiller,而直接与k8s通讯,可以说在部署上更简单了,而今天我们主要还是部署2.x版本的helm.

下载安装包

https://get.helm.sh/helm-v2.16.5-linux-amd64.tar.gz

脚本文档rbac-config.yml

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-system

构建rbac

kubectl create -f rbac-config.yaml

初始化tiller

 helm init --service-account tiller --skip-refresh

对于 Kubernetes v1.16.0 以上的版本,有可能会碰到 Error: error installing: the server could not find the requested resource 的错误。这是由于 extensions/v1beta1 已经被 apps/v1 替代。相信在2.15 或者 3 版本发布之后, 应该就不会遇到这个问题了。还是生态比较慢的原因。

重新初始化tiller

helm init -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.3 --stable-repo-url http://mirror.azure.cn/kubernetes/charts/ --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's@apiVersion: extensions/v1beta1@apiVersion: apps/v1@' | kubectl apply -f -

查看tiller的pod信息

kubectl get pods -n kube-system | grep tiller
tiller-deploy-7c7b67c9fd-kxh6p            1/1     Running     0          4m58s

到现在为止,我们的helm就安装功能了,之后我们装运行helm来进行charts的安装

posted @ 2020-04-07 13:55  张占岭  阅读(3935)  评论(0编辑  收藏  举报