**1. Helm 包管理工具**
Helm 是一个 Kubernetes 的包管理工具,就像 Linux 下的包管理器,如 yum/apt 等,可以
很方便的将之前打包好的 yaml 文件部署到 kubernetes 上。
<br/>
**2. Helm 三个概念**
* helm:一个命令行客户端工具,类似`kubectl`,主要用于 Kubernetes 应用 chart 的创建、打包、发布和管理。
* Chart:应用描述,一系列用于描述 k8s 资源相关文件的集合,即一大堆`.yaml`文件的集合。
* Release:基于 Chart 的部署实体,一个 chart 被 Helm 运行后将会生成对应的一个
release,将在 k8s 中创建出真实运行的资源对象,即应用的版本管理。
**3. Helm v3 变化**
2019 年 11 月 13 日, Helm 团队发布 Helm v3 的第一个稳定版本。以后我们用的都是 Helm v3。
* 最明显的变化是 Tiller 的删除。
* Release 名称可以在不同命名空间重用。
* 支持将 Chart 推送至 Docker 镜像仓库中。
* 使用 JSONSchema 验证 chart values。
* ...其他。
:-: ![](https://img.kancloud.cn/f1/77/f1771d15e566ed320f8b6ed555680674_1407x797.png)
Helm v2 → v3 架构变化
**4. 到底为什么要引入 Helm ?**
之前部署应用时都是跑`kubectl create/apply -f xxx.yaml`,这种方式当部署单一、少数几个应用的时候比较合适,但是当部署的应用达到几十个,每个应用都有一套`.yaml`文件,这时就需要维护大量的`.yaml`文件,而且版本管理也不方便。
<br/>
引入 Helm 可以解决如下问题:
* 可以将大量`.yaml`文件作为一个整体进行管理。
* 实现`.yaml`的高效复用。其实我们发现很多的`.yaml`文件都是相似的结构,引入 Helm 就可以少写`.yaml`文件的内容了。
* 可以实现应用的版本管理。
>[info]所以引入 Helm 的原则就是:更方便、更高效的部署应用。
- K8s是什么
- K8s特点
- K8s功能
- 为什么用容器
- K8s集群搭建
- 1. 集群架构
- 2. 机器初始化
- 3. 安装Docker
- 4. 配置k8s镜像仓库
- 5. 安装k8s核心工具
- 6. 初始化主节点
- 7. node节点加入集群
- 8. 安装Pod网络插件
- 9. 测试k8s集群
- yaml资源文件
- yaml文件作用
- yaml文件编辑语法
- 资源清单描述方法
- 命令行工具kubectl
- kubectl是什么
- kubectl命令语法
- Pod
- Pod是什么
- Pod特征
- Pod定义
- Pod基本操作
- Pod分类
- Pod生命周期
- Pod重启策略
- 镜像拉取策略
- 资源限制
- 健康检查
- Label
- Namespace
- ReplicationController
- ReplicaSet
- Deployment
- HorizontalPodAutoscaler
- Service
- Service是什么
- 应用Service
- Ingress
- Ingress是什么
- 部署ingress-nginx
- Helm
- Helm是什么
- Volume
- Volume是什么
- NFS的使用
- PV与PVC
- PV与PVC是什么
- PV与PVC的使用
- ConfigMap
- ConfigMap是什么
- ConfigMap创建
- ConfigMap使用
- ConfigMap热更新
- 滚动更新Pod
- Secret
- Secret作用
- Secret类型