前言

类似于 Linux 的 YUM、APT,Helm 是 K8S 的包管理工具。

Helm, 一个二进制工具,用来安装、升级、卸载 K8S 中的应用程序。

Helm Chart,一个 tgz 包,类似安卓的 APK。

K8S 应用打包成 Chart,通过 Helm 安装到 K8S 集群中。

更新历史

  • 20200717 - 初稿 - 左程立
  • 原文地址 - https://blog.zuolinux.com/2020/07/17/k8s-package-manager-helm.html

Helm 包管理工具

安装 Helm,解压到 /usr/loca/bin/ 下

wget https://get.helm.sh/helm-v3.3.1-linux-amd64.tar.gz

添加国内仓库

helm repo add apphub https://apphub.aliyuncs.comhelm repo updatehelm repo list

查找 nginx

helm search repo nginx

安装 nginx-ingress 到 K8S 中

helm install nginx apphub/nginx

如果有报错,有些旧仓库往会最新版 K8S,这里是 v1.18.2按照,会报错,可以换个仓库或者下载下来修改后本地安装

报错Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Deployment" in version "extensions/v1beta1"

helm pull apphub/nginx-ingress --untar

grep -irl "extensions/v1beta1" nginx-ingress | grep deploymentgrep -irl "extensions/v1beta1" nginx-ingress | grep deploy | xargs sed -i 's#extensions/v1beta1#apps/v1#g'

helm install nginx1 ./nginx-ingress/

再安装一个 nginx-ingress

helm install nginx2 apphub/nginx

查看已经安装了哪些

helm list

卸载

helm uninstall nginxhelm uninstall nginx2

在 K8S 中查看安装的应用

kubectl get podkubectl get service

Helm 相关术语

Chart

Helm的应用包,采用tgz格式。类似于 Yum 的 RPM,其包含了一组定义 Kubernetes 资源相关的 YAML 文件,也称为应用 Chart。

Repoistory

Helm 的应用仓库,保存了一系列的 Chart 应用包以供用户下载,并且提供了一个该 Repository 的 Chart 包清单文件以供查询。

Helm 可以同时管理多个不同的 Repository。

Helm 社区官方提供了 stable 和 incubator 仓库,用户也可以自己搭建仓库。

仓库可以是公共仓库,也可以是私有仓库。

Hub

不同的个人和组织提供的公共仓库形成了分散和分布的 Helm 仓库,不利于查找,所以官方提供了Helm Hub,各公共仓库可以注册到 Helm Hub 中以方便集中查找,Helm Hub 只是分布的仓库的集中展示中心。

仓库注册到 Helm Hub 时,会将 Chart 清单文件向 Helm Hub 同步一份,这样可以在 Helm Hub 集中展示仓库列表和各仓库中的 Chart 列表。

Chart 包也就是 tgz 文件实际上存储在各仓库中。Helm Hub 并不实际存储 Chart 包。Helm 只是在查询 Chart 时和 Helm Hub 有交互,其它操作都是和仓库直接交互的。

Release

在 K8S 集群上运行的 Chart 的一个实例。

在同一个集群上,一个Chart可以安装很多次。

每次安装都会创建一个新的 Release。

例如一个 MySQL Chart,如果想在服务器上运行两个 MySQL 数据库,就可以把这个 Chart 安装两次。每次安装都会生成一个新的 Release。

结束语

Helm Chart 可帮助 K8S 应用实现打包、共享、一键安装。

Helm Hub 收集了全球的各公共仓库信息,以便用户可以集中查找,但 Helm Hub 并没有实际存储 Chart 包,只是告诉用户你可以去哪里下载到 Chart 包。

联系我

微信公众号:zuolinux_com

微信扫码关注

k8s包管理器helm_K8S 实战(十九)| K8S 包管理 Helm相关推荐

  1. OpenCV C++案例实战十九《制作电子相册查看器》

    OpenCV C++案例实战十九<制作电子相册查看器> 前言 一.图片读取 二.图片展示 三.键盘控制 四.效果显示 五.源码 总结 前言 本文将使用OpenCV C++ 制作电子相册查看 ...

  2. 系统集成项目管理工程师(软考中级)—— 第十九章 采购管理 笔记分享

    前言 现在分享一些笔记给大家,希望能够帮助大家并顺利通过软考. 幕布地址:第十九章 采购管理 - 幕布 概述 大数据 ito 4w1h 采购过程 1.编制采购计划 决定采购什么,何时采购,如何采购,还 ...

  3. 信息系统项目管理师---第十七章 战略管理 第十八章 组织级项目管理 第十九章 流程管理历年考题

    信息系统项目管理师-第十七章 战略管理 第十八章 组织级项目管理 第十九章 流程管理历年考题 第十七章 战略管理历年考题 1.2005 年 5 月第 57 题 :战略管理的主要活动可以分为下列中的(B ...

  4. 信息系统项目管理师---第十七章 战略管理 第十八章 组织级项目管理 第十九章 流程管理

    信息系统项目管理师-第十七章 战略管理 第十八章 组织级项目管理 第十九章 流程管理 第十七章 战略管理 一.战略管理 战略管理是指对一个组织的未来方向制定决策和实施这些决策.它大体可分解为:战略制定 ...

  5. mt管理器没root执行脚本,mt管理器怎么执行脚本

    mt管理器怎么使用shell脚本 1.回到MT管理器,打开事先下载好的高级对话框代码,复制调用码 2.打开app目录,进入主活动所在的包,将调用码复制到主活动的onCreate方法内,然后保存退出并删 ...

  6. Linux更改显示管理器,聊聊Linux操作系统中的显示管理器及如何更换

    在这篇Linux黑话解释中,你将了解 Linux 中的显示管理器.它是桌面环境的一部分吗?它的作用是什么? 什么是 Linux 中的显示管理器? 简单来说,显示管理器display manager(D ...

  7. 【进阶知识】显示管理器,窗口管理器,桌面环境/桌面管理器,显示服务器

    文章目录 一.显示管理器(Display Manager) 1.1 什么是 Linux 中的显示管理器? 1.2 不同的显示管理器 1.3 其他 控制台显示管理器 图形界面显示管理器 二.窗口管理器( ...

  8. 【Java AWT 图形界面编程】LayoutManager 布局管理器 ④ ( GridLayout 网格布局 | GridBagLayout 网格包布局 )

    文章目录 一.GridLayout 网格布局 二.GridLayout 构造函数 三.GridLayout 网格布局代码示例 四.GridBagLayout 网格包布局 一.GridLayout 网格 ...

  9. java 网格布局管理器,Java图形化界面设计——布局管理器之GridLayout(网格布局)...

    网格布局特点: l  使容器中的各组件呈M行×N列的网格状分布. l  网格每列宽度相同,等于容器的宽度除以网格的列数. l  网格每行高度相同,等于容器的高度除以网格的行数. l  各组件的排列方式 ...

最新文章

  1. 修改sqlplus中显示时间日期的格式
  2. java的rsa作用_java 中RSA的方式实现非对称加密的实例
  3. 嵌入式项目数据解决方案之sqlite
  4. python和javascript详细对比_python与javascript 引入模块的方法对比
  5. 什么叫网站灰度发布?
  6. 增强现实和3D渲染技术是如何应用在SAP产品里的
  7. Spring Boot的自动化配置原理
  8. python二分法查找时间点_python有序查找算法:二分法
  9. Matlab常用图像操作
  10. STM32 连续操作flash
  11. tensorflow随机梯度下降算法使用滑动平均模型
  12. 华三H3c 交换机 vlan Hybird端口配置
  13. 华为交换机命令 简单配置DHCP
  14. 求助做过笔记本ec的大佬
  15. 在线ASCII转换HEX
  16. 造车新势力平均月薪 15367 元,自动驾驶算法岗年薪百万
  17. 强大免费的在线格式转换工具,三步轻松完成。
  18. 必须注销计算机才能应用这些更改,Win10不用注销电脑就可以实现切换开始菜单/屏幕的方法...
  19. wshop微信商城数据库结构简要解析
  20. redis发布订阅与集群

热门文章

  1. JFinal常量配置学习笔记
  2. 第二阶段冲刺10天 第六天
  3. Python基础(6)--条件、循环
  4. 关于团队开发项目的想法
  5. 求你了,听我一句劝吧,这几个玩意就别学了!
  6. 宕机了,Redis数据丢了怎么办?
  7. 面试官扎心一问:Tomcat 在 SpringBoot 中是如何启动的?
  8. 腾讯总监周颢:亿级用户微信采用的架构宝典
  9. 公众号第三方平台开发 - 教程五 代公众号发起网页授权源码
  10. SpringCloud微服务:基于Nacos组件,整合Dubbo框架