k8s之helm学习笔记
Helm 是什么每个成功的软件平台都有一个优秀的打包系统,比如 Debian、Ubuntu 的 apt,Redhat、Centos 的 yum。而 Helm 则是 Kubernetes 上的包管理器。Helm 的架构Helm 有两个重要的概念:chart 和 release。chart 是创建一个应用的信息集合,包括各种 Kubernetes 对象的配置模板、参数定义、依赖关系、文档说明等...
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
更多推荐
所有评论(0)