【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

谁才有资格来装点 Kubernetes 这幢豪宅?

  • 2020-03-06
  • 本文字数:1195 字

    阅读完需:约 4 分钟

谁才有资格来装点 Kubernetes 这幢豪宅?

Kubernetes 为容器化应用程序提供了一个家。但是,如何用数据库和网络应用程序对这个“家”进行装饰呢?于是 Helm 华丽登场,如果 Kubernetes 是你的家,Helm 就好比是宜家。

Kubernetes 是您应用程序的家园

Kubernetes 采用的是一组裸机或虚拟机,并覆盖了一个复杂的容器管理系统。遵循声明式基础设施的原则,Kubernetes 提供了数十种资源定义,从简单的容器执行环境(pod)到入口点,服务抽象和持久存储卷。这些使 Kubernetes 成为灵活运行容器应用程序的家园。但是,将新的应用程序部署到该家庭中,学习曲线很陡,Adam Reese 称之为 Kubernetes 开发周期。


1、复制 YAML


2、粘贴 YAML


3、修复缩进


4、重复


Helm 可以让你跳过这些步骤。

Helm 好比是宜家

我们每个人的家里面都有家具,但是我们中有多少人在家里打造家具?答案是:几乎没有。那些编程技术水准较高的人员,熟练运用许多工具。他们热衷于制作“家具”的每一个细节。


但是我们中的许多人选择依靠工匠来为我们建造家具。我们只需要选择我们想要的,并处理一些细节,根据我们的个人品味来定制家具就好。这就是像宜家这样的家具制造商取得成功的原因。他们通过几个简单的工具将装备减少到几个简单的步骤。


Kubernetes 提供构建集群家具的所有原材料。Pods, Daemonsets, ServiceAccounts,PersistentVolumeClaims, ConfigMaps,Services…那些选择建立高水平的人可以仔细地模拟他们选择部署的每个应用程序的细节。


但是,就像许多人更喜欢 Ikea 的木工车间一样,我们中许多人宁愿依靠现有的专家组合 Kubernetes 应用程序。

Helm 是您的解决方案

例如,我可以创建我自己的 MySQL 容器镜像,然后通过组合一个 Kubernetes 部署的正确的参数组合的过程。这可能需要至少设置一个 Service, Deployment, ConfigMap 和 PersistenVolume/PersistentVolumeClaim pair.


但是,使用高手编写好的现成配置,根据具体需求做少量修改,就会好一些。而这正是 Helm 要解决的问题。


Helm Charts 是专门制作的 Kubernetes 资源的预先包装配置。那些宁愿从现有 MySQL 配置开始的人可以安装 Helm Chart:



或者他们可以从 Chart 开始,并自定义参数:



或者他们可以抓取 chart,进行深度修改:



和那些 Kubernetes 匠可以创建自己的 Helm chart,然后与他人分享(无论是他们的团队还是更广泛的受众)。


结论:

通常,当我们讨论 Helm,是把它当成 Kubernetes 的一个包管理工具。但从广义来讲,我们可以把它看作分享 Kubernetes 知识的工具,共同提高我们的云本机应用程序的质量。


Helm 的设计初衷是降低 Kubernetes 新人的学习难度。这是为了让应用程序重新使用可以更加容易。它旨在鼓励开发(共享)Kubernetes 最佳实践。


Kubernetes 是一栋豪宅,它重新定义了我们运行应用程序的方式。而 Helm 则是装饰这间屋子的“家具”,它用高质量的应用程序装饰 Kubernetes。


本文转载自才云 Caicloud 公众号。


原文链接:https://mp.weixin.qq.com/s/bL0dSaTVRdlr2Cvekfm97Q


2020-03-06 21:06422

评论

发布
暂无评论
发现更多内容

关于价值、目标、任务的思考

L3C老司机

CSS(二)——CSS核心基础

程序员的时光

CSS 程序员 七日更 28天写作

「架构师训练营 4 期」 第四周 - 001

凯迪

老师讲的真棒!2021Android精选面试实战总结整理,分享PDF高清版

欢喜学安卓

android 程序员 面试 移动开发

优雅编码 | 18个Javascript代码的小技巧

devpoint

代码优化 优雅

一文带你读懂:设计模式的六大原则

后台技术汇

28天写作

重学JS | ES6既有Set,为啥还要有Weak Set?

梁龙先森

JavaScript 大前端 编程语言 28天写作

C++静态链接符号冲突的几种处理方法

ElvinYang

泪目!为什么Flutter能最好地改变移动开发?成功收获美团,小米安卓offer

欢喜学安卓

android 程序员 面试 移动开发

Dockerfile ENV 使用指南

K8sCat

Docker Dockerfile ENV ARG

企业是如何选择技术栈来做离线数仓

大数据老哥

自动泊车初步了解 (28天写作 Day17/28)

mtfelix

自动驾驶 28天写作 自动泊车

商务部CECBC区块链专委会副主任、数字经济商学院院长吴桐:建立完善稳健的基础设施 加速区块链与产业深度融合

CECBC

区块链

算法:匹配有效的括号,Swift 5中UITest从入门到精通, Swift 5 Viper Template,极客大学产品经理训练营 产品思维和产品意识, John 易筋 ARTS 打卡 Week 36

John(易筋)

ARTS 打卡计划 极客大学产品经理训练营 Swift 5 UITest Swift 5 Viper Template

能源革命背后的牛公司 (28天写作 Day16/28)

mtfelix

28天写作 能源革命

人民日报——大力发展数字经济

CECBC

数字经济

「产品经理训练营」作业02:利益相关方识别

狷介

产品经理训练营

第4周总结-系统架构

潘涛

架构师训练营 4 期

产品经理训练营作业-第二周-产品思维和产品意识

.nil?

产品经理训练营

虚拟币钱包APP系统开发|虚拟币钱包软件开发

系统开发

Nginx架构赏析

旺旺

nginx 架构 中间件

「产品经理训练营」第二章作业

Sòrγy_じò ぴé

产品经理训练营 极客大学产品经理训练营 产品训练营

深入理解MVCC与间隙锁

林一

MySQL MVCC

五分钟学会模板模式

田维常

mybatis

“区块链+产业应用”系列研讨会首场“大健康产业篇”在深圳举行

CECBC

健康产业

第4周课后练习-系统架构

潘涛

架构师训练营 4 期

Mysql 4种方式避免重复插入数据!

xcbeyond

MySQL MySQL使用 28天写作

区块链交易所APP开发|区块链交易所系统软件开发

系统开发

第二次作业

秦挺

产品 0 期 - 第二周作业

Jxin

高效学习:如何学得更快更好

石云升

学习 28天写作

谁才有资格来装点 Kubernetes 这幢豪宅?_文化 & 方法_才云科技_InfoQ精选文章