书籍来源:cloudman《每天5分钟玩转Kubernetes》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:每天5分钟玩转Kubernetes | 汇总_COCOgsta的博客-CSDN博客
在实践之前,我们先来看看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。
- 管理chart仓库。
- 与Tiller服务器交互。
- 在远程Kubernetes集群上安装chart。
- 查看release信息。
- 升级或卸载已有的release。
Tiller服务器运行在Kubernetes集群中,它会处理Helm客户端的请求,与Kubernetes API Server交互。Tiller服务器负责:
- 监听来自Helm客户端的请求。
- 通过chart构建release。
- 在Kubernetes中安装chart,并跟踪release的状态。
- 通过API Server升级或卸载已有的release。
简单地讲,Helm客户端负责管理chart,Tiller服务器负责管理release。