安装使用helm

作者: 陈sir的知识图谱 | 来源:发表于2018-05-11 11:16 被阅读0次

[TOC]
原创文章 转载请注明出处。

安装helm 客户端

方法1 手工安装

选择对应的二进制文件下载,然后放到执行kubectl 的机器上。解压,修改可执行属性

unzip helm.zip
chmod +x helm
mv helm /usr/local/bin

方法2 脚本安装

$ curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get > get_helm.sh
$ chmod 700 get_helm.sh
$ ./get_helm.sh
# 或者
$ curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash

客户端安装完成

安装 tiller server端

server 端是已deployment的形式安装在k8s 的 kube-system namespace下的。这里有个安全方面的坑。

添加安全相关的配置

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

将上面的内容保存为helmsec.yml, 然后通过kubectl 创建对应的service account 和 role binding

kubectl create -f helmsec.yml

使用刚刚创建的service account初始化服务端,详细参数可以使用 helm init -h 查看

helm init --service-account tiller

安装完成后看到如下信息


1.png

验证安装

helm version
2.png

安装完成
可以使用helm install xxx 安装软件了

TROUBLE SHOOTING

  • 1 Error: no available release name found
    遇到这个错误,是由于权限问题引起的。如果没有使用之前声明的权限和helm 关联,就会遇到这个错误。


    3.png

解决办法
删除对应的 service,deployment, service account, role binding, 重新创建关联即可

kubectl delete svc tiller-deploy -n kube-system
kubectl delete deploy tiller-deploy -n kube-system
kubectl delete -f helmsec.yml
kubectl create -f helmsec.yml
helm init --service-account tiller    #注意,这里的--service-account 参数非常重要,如果少了关联,依然会报错。

相关文章

网友评论

    本文标题:安装使用helm

    本文链接:https://www.haomeiwen.com/subject/axffdftx.html