k8s之helm学习笔记

Helm 是什么

每个成功的软件平台都有一个优秀的打包系统,比如 Debian、Ubuntu 的 apt,Redhat、Centos 的 yum。而 Helm 则是 Kubernetes 上的包管理器。

Helm 的架构

Helm 有两个重要的概念:chart 和 release。

chart 是创建一个应用的信息集合,包括各种 Kubernetes 对象的配置模板、参数定义、依赖关系、文档说明等。chart 是应用部署的自包含逻辑单元。可以将 chart 想象成 apt、yum 中的软件安装包。

release 是 chart 的运行实例,代表了一个正在运行的应用。当 chart 被安装到 Kubernetes 集群,就生成一个 release。chart 能够多次安装到同一个集群,每次安装都是一个 release。

Helm 是包管理工具,这里的包就是指的 chart。

Helm 包含两个组件:Helm 客户端 和 Tiller 服务器。

简单的讲:Helm 客户端负责管理 chart;Tiller 服务器负责管理 release。

安装和部署 Helm 客户端和 Tiller 服务器

将 Helm 客户端安装在能够执行 kubectl 命令的节点上

curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash

Tiller 服务器安装非常简单,只需要执行 helm init:

现在,使用 helm version 命令已经能够查看到客户端和服务器的版本信息了。

使用 Helm

Helm 安装成功后,可执行 helm search 查看当前可安装的 chart。例如找mysql :helm searchmysql

Helm 仓库 :helm repo list

Helm 安装时已经默认配置好了两个仓库:stable 和 local。stable 是官方仓库,local 是用户存放自己开发的 chart 的本地仓库。

用户可以通过 helm repo add 添加更多的仓库,比如企业的私有仓库,仓库的管理和维护方法请参考官网文档 https://docs.helm.sh

添加仓库:
helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
helm repo list

安装 chart 也很简单,执行如下命令可以安装 MySQL。
helm install stable/mysql

如果看到报错,通常是因为 Tiller 服务器的权限不足。

helm install --name roy-kafka incubator/kafka
Error: release roy-kafka failed: namespaces "default" is forbidden: User "system:serviceaccount:kube-system:default" cannot get resource "namespaces" in API group "" in the namespace "default"

执行如下命名添加权限:
$ kubectl create serviceaccount --namespace kube-system tiller
$ kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
$ kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'

然后再次执行
helm install stable/mysql

参考链接:https://www.jianshu.com/p/32f968d0f9e1
来源:简书

转载于:https://blog.51cto.com/12083623/2389068

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值