每天五分钟玩转K8S(十)

今天我们来了解一下k8s的包管理工具,helm。

一、helm的架构

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

  • chart是创建一个应用的信息集合, 包括各种Kubernetes对象的配置模板、 参数定义、 依赖关系、 文档说明等。 chart是应用部署的自包含逻辑单元。 可以将chart想象成apt、 yum中的软件安装包。
  • release是chart的运行实例, 代表了一个正在运行的应用。 当chart被安装到Kubernetes集群, 就生成一个release。 chart能够多次安装到同一个集群, 每次安装都是一个release。

(这里有点类似程序与进程的区别,一个是静态,一个是动态)

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

  • 从零创建新chart。
  • 与存储chart的仓库交互, 拉取、 保存和更新chart。
  • 在Kubernetes集群中安装和卸载release。
  • 更新、 回滚和测试release。

Helm包含两个组件: Helm客户端和Tiller服务器, 如图所示
在这里插入图片描述
简单地讲, Helm客户端负责管理chart, Tiller服务器负责管理release。

二、安装helm

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

检查版本
在这里插入图片描述
安装tiller服务器,
在这里插入图片描述

三、使用helm

可以查询当前可安装的chart(非常多,就不全部展示了- -)
在这里插入图片描述
helm犹如docker仓库一样,有自己的仓库
在这里插入图片描述
也是有分官方还有本地仓库,用户可以通过helm repo add添加更多的仓库,如企业的私有仓库。
helm支持关键字搜索,如
在这里插入图片描述
安装chart也很简单,执行如下命令即可安装mysql

helm install stable/mysql

出现以下报错,是因为tiller服务器的权限不足
在这里插入图片描述
需要执行如下命名添加权限:

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"}}}}'

然后重新执行安装mysql的命令,有以下效果
在这里插入图片描述
1、chart本次部署的描述信息。

  • NAME是release的名字, 因为我们没用-n参数指定, 所以Helm随机生成了一个, 这里是incline-puffin。
  • NAMESPACE是release部署的namespace, 默认是default, 也可以通过–namespace指定。
  • STATUS为DEPLOYED, 表示已经将chart部署到集群。

2、当前release包含的资源: Service、 Deployment、 Secret和PersistentVolumeClaim, 其名字都是fun-zorse-mysql, 命名的格式为ReleasName-ChartName。
3、NOTES部分显示的是release的使用方法, 比如如何访问Service、 如何获取数据库密码以及如何连接数据库等。
可以使用之前的kubectl get来查询各个release对象。
也可以使用

helm list

来查询后已经部署了的release
在这里插入图片描述

四、chart详解

书上写的比较详细,可以直接看书

五、构建自己的chart

操作就是书上的流程,在传输文件的时候记得给源文件和目的文件夹都给出权限,要不传不过去

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
每天五分钟学习并掌握使用Kubernetes(简称K8s)的PDF资料是一种高效的学习方法。Kubernetes是一种开源的容器编排引擎,被广泛应用于容器化应用的部署和管理。通过每天五分钟阅读和实践相关的资料,你将能够快速了解Kubernetes的基本概念和使用方法。 首先,你可以通过PDF资料了解Kubernetes的基本概念和架构。了解Kubernetes的核心组件、节点、Pod、服务等基本概念,可以帮助你理解Kubernetes的工作原理和设计思想。此外,你还可以了解到Kubernetes的优势和适用场景,以及与其他容器编排引擎的对比。 其次,你可以通过PDF资料学习Kubernetes的命令和API。Kubernetes提供了一组丰富的命令和API,用于管理和配置集群、部署应用、扩缩容等操作。通过学习这些命令和API,你将能够熟练地使用Kubernetes来管理和操作你的应用。 另外,PDF资料还通常提供了一些实际的示例和最佳实践,你可以通过阅读这些示例来学习如何使用Kubernetes来解决实际问题。例如,如何部署一个容器化的应用、如何进行服务发现和负载均衡、如何进行应用的水平扩展等等。 在每天五分钟的学习中,你可以选择特定的主题进行学习,例如一天学习Kubernetes的核心概念,下一天学习Kubernetes的命令和API,再下一天学习Kubernetes的实践示例等等。通过持续地每天学习五分钟,你将逐渐掌握Kubernetes的知识和技能,为以后的工作和学习打下坚实的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值