Kubernetes — Helm
Posted 范桂飓
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kubernetes — Helm相关的知识,希望对你有一定的参考价值。
目录
Helm
- 项目仓库:https://github.com/helm/helm
Helm 是 Kubernetes 的软件包管理工具。类似于 Linux 操作系统中的 yum/apt、Python 中的 pip 一般,使用户能够简单高效地查找、下载、安装指定的软件包。
Helm 采用 C/S 架构,由 helm CLI Client 和 Tiller Server 组成,能够将一组 Kubernetes Resource 进行打包,是统一管理(查找、下载、安装、分发、使用)基于 Kubernetes 构建的应用程序的最佳方式。
Helm 所解决的问题
在 Kubernetes 中部署一个应用,往往涉及多个 Kubernetes Resources 之间的共同协作。例如:安装一个 WordPress App,就会使用到 Deployment(执行部署)、Service(提供服务发现)、Secret(配置 WordPress 的用户名和密码)、PV/PVC(提供持久化存储服务)。而且 WordPress App 还依赖 MariaDB App。可见,如果用户使用 kubectl 来人工完成上述操作是复杂的。
如果我们把 Kubernetes 比作 OS,把 Pod 比作进程,那么 Helm 就是 OS 中的 YUM 包管理工具了。
Helm 的基本概念
- Chart:一个 Helm 安装包,其中包含了运行一个 App 所需要的镜像、依赖和资源定义等,还可能包含 Kubernetes 集群中的服务定义。类似 APT 的 dpkg 或者 Yum 的 rpm 文件。
- Release:在 Kubernetes 集群上运行的一个 Chart 实例。在同一个集群上,一个 Chart 可以被安装很多次。每次安装都会创建一个新的 Release。例如:一个 mysql Chart,如果想运行两个数据库,就可以把这个 Chart 安装两次。每次安装都会生成自己的 Release,会有自己的 Release 名称。
- Repository:用于发布和储存 Chart 的存储库。
Helm 的软件架构
以上是关于Kubernetes — Helm的主要内容,如果未能解决你的问题,请参考以下文章
Kubernetes - Kubernetes部署Kubernetes Dashbaord
Kubernetes——Kubernetes的介绍和使用 kubeadm方式搭建Kubernetes集群
Kubernetes——Kubernetes资源管理+Kubernetes实战入门