在2018 KubeCon大会上 K8s Helm 可谓是备受瞩目。Helm相对于 Kubernetes而言,就类似Ubuntu上的APT,和CENTOS上的yum命令。Helm把整个的Kubernetes的资源进行打包。好处第一是复用性,第二是标准化,第三是版本控制。

640?wx_fmt=png


Helm不再是Kubernetes的子项目,它是一个软件包管理器,提供了一种查找、共享和使用为Kubernetes构建软件的简单方法。Helm消除了配置和部署的复杂性,并提高了开发人员的生产力。


“Helm致力于满足普通用户对Kubernetes部署应用的需求,让应用配置可重用。Helm和Kubernetes项目都大幅增长。随着Kubernetes将其重点转移到自己的核心,以便更好地管理这一增长,CNCF成为Helm继续让开发人员和运营商更简化Kubernetes部署流程的绝佳之地。”TOC代表和项目发起人,Google的首席工程师,以及Kubernetes SIG架构联合主席兼指导委员会成员Brian Grant说。


“随着Kubernetes更注重稳定性,CNCF为Helm提供了一个新家,以确保社区的需求得到满足。Helm已经为其社区扩大了数百个贡献者的核心和社区图表,我们期待着他们的社区进一步发展。”云原生计算基金会首席运营官Chris Aniszczyk表示。


Helm的概念

Helm 可以理解为 Kubernetes 的包管理工具,可以方便地发现、共享和使用为Kubernetes构建的应用,它包含几个基本概念:


- Chart:一个 Helm 包,其中包含了运行一个应用所需要的镜像、依赖和资源定义等,还可能包含 Kubernetes 集群中的服务定义。


- Release: 在 Kubernetes 集群上运行的 Chart 的一个实例。在同一个集群上,一个 Chart 可以安装很多次。每次安装都会创建一个新的 release。例如一个 MySQL Chart,如果想在服务器上运行两个数据库,就可以把这个 Chart 安装两次。每次安装都会生成自己的Release,会有自己的 Release 名称。


- Repository:用于发布和存储 Chart 的仓库。


Helm 由两部分组成

  1. Helm 客户端:它用来创建,拉取,搜索和验证 Charts,初始化 Tiller 服务。

  2. Tiller server:跑在 Kubernetes 集群之内,管理这些应用的发布。


Helm基本架构如下


640?wx_fmt=jpeg


为什么需要 Helm Charts?


很多Kubernetes 的使用者在部署一些通用组件时,例如数据库,CI 工具,缓存组件,负载均衡等等,通常会需求一些业界统一的最佳实践进行应用的配置。


目前市面上有很多仓库提供这样的最佳实践,例如:Kubernetes 的contrib repository,Helm Charts Repository (https://github.com/kubernetes/charts),Bitnami Charts Repository. 面对如此众多的来源,用户更希望有一个统一的入口去管理所有 Helm Charts仓库,于是就有了 Helm 私有仓库的诞生。它的好处在于:

  1. 管理复杂的应用集合

    Charts 能够描述最复杂的应用,提供可重复,幂等性的安装,以及提供统一的认证中心服务。

  2. 容易升级

    为团队提供实时的镜像升级,以及自定义 webhook,解决镜像升级的痛点。

  3. 企业内部共享

    Charts能够很容易的进行版本化,共享,在企业内部提供私有Helm 仓库服务,解决了从官方源拉镜像速度奇慢的痛点。

  4. 回滚

    使用 Helm 可以方便的进行应用的回滚,回到之前的 Release 版本。


目前在Kubernetes Charts repository有两个主要的目录Stable 和Incubator,Stable 里有近百种应用,例如:Artifactory, Jenkins,Mysql,MariaDB,Consul,Gitlab, Grafana,Nginx 等等。Incubator 里也有cassandra,Kafka,zk 等等知名软件,并且 Stable 仓库会持续的更新,提供更为便捷的应用配置管理。


640?wx_fmt=png


在本次KubeCon大会上,来自VMware的软件工程师这样介绍到:“在自有数据中心的企业环境下,我们已经将内容打包到 Docker 镜像中,并使用 Docker 仓库托管了一段时间,目前 Helm Charts 已成为 Kubernetes 的应用程序包格式的选择,是时候去探索托管 Helm Charts 的正确方式了。


根据我们的经验,将一个私有的 docker 镜像仓库 (Project Harbor) 扩展到一个 Helm Charts 仓库。我们将分享我们在企业中看到 Helm Charts 管理的一些关键问题,比如 RBAC、签名、漏洞扫描,以及我们如何通过 Docker 镜像管理向集成用户提供管理、检查 Helm Charts 的经验。我们还将讨论在此过程中所面临的挑战以及可能的解决方案。”


想了解更多关于Helm Charts的信息,请来参加本次上海的KubeCon大会,不见不散。


本期则隆重推荐



640?wx_fmt=jpeg

Brian Redmond , Microsoft 云架构师


我是微软Azure Global Black Belt团队的云架构师。我主要关注Azure云平台中的容器、微服务、DevOps和云原生应用程序。我从事技术工作已经超过20年了,从应用程序开发到基础架构,我有着各种背景。我住在美国宾夕法尼亚州的匹兹堡,我喜欢跑步、骑自行车和摆弄新技术。我最近在2017年奥斯丁的KubeCon和2018年哥本哈根的KubeCon,以及今年6月在东京和北京举行的OSS峰会上发表了讲话。


我真的很喜欢在这些全球性的活动中分享一些关于技术的想法和与新人们交谈。


640?wx_fmt=jpeg

Pengfei Ni , Microsoft 高级软件工程师


倪鹏飞是微软Azure的软件工程师和kubernetes项目的维护者。他在云计算、Kubernetes和软件定义网络(SDN)方面有着丰富的经验。他在CNUTCon 2017、KEUC 2017、ECUG 2017和LC3 2018上发表了演讲。他还在维护一个开源的Kubernetes手册。


KubeCon + CloudNativeCon 2018即将开始,请立即购票,勿失良机!会议更多信息及注册请点击文末【阅读原文】了解!


640?wx_fmt=png



余票所剩无几,欲购从速,票价如下:

标准注册2400元;

贵宾注册6000元;

学术或爱好者注册500元;(需要发送电子邮件至events@cncf.io申请批准)




文末福利:


全免邀请票给 Kubernetes (K8s) 企业最终用户计划300个名额已爆满;由于反应强烈,最后加开100个名额!


  1. 对象: Kubernetes 最终企业用户的架构师和开发者,技术主管。

  2. 请提供姓名,公司名称,职位和微信号,发邮件至mcheung@linux.com 申请,审核通过可获得全免邀请票。


640?wx_fmt=png

640?wx_fmt=gif

会议更多信息及注册请点击文末【阅读原文】了解!

Logo

开源、云原生的融合云平台

更多推荐