前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >发现之旅:探索托管 Helm Charts 的正确方式

发现之旅:探索托管 Helm Charts 的正确方式

作者头像
CNCF
发布2019-12-05 12:34:52
8350
发布2019-12-05 12:34:52
举报
文章被收录于专栏:CNCF

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

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基本架构如下:

为什么需要 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 仓库会持续的更新,提供更为便捷的应用配置管理。

在本次KubeCon大会上,来自VMware的软件工程师这样介绍到:“在自有数据中心的企业环境下,我们已经将内容打包到 Docker 镜像中,并使用 Docker 仓库托管了一段时间,目前 Helm Charts 已成为 Kubernetes 的应用程序包格式的选择,是时候去探索托管 Helm Charts 的正确方式了。 根据我们的经验,将一个私有的 docker 镜像仓库 (Project Harbor) 扩展到一个 Helm Charts 仓库。我们将分享我们在企业中看到 Helm Charts 管理的一些关键问题,比如 RBAC、签名、漏洞扫描,以及我们如何通过 Docker 镜像管理向集成用户提供管理、检查 Helm Charts 的经验。我们还将讨论在此过程中所面临的挑战以及可能的解决方案。”

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CNCF 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档