安装使用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