jimmyhzhang
TKE基于Helm的应用管理实践
原创
关注作者
前往小程序,Get
更优
阅读体验!
立即前往
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
圈层
工具
返回腾讯云官网
jimmyhzhang
首页
学习
活动
专区
圈层
工具
返回腾讯云官网
社区首页
>
专栏
>
TKE基于Helm的应用管理实践
TKE基于Helm的应用管理实践
原创
jimmyhzhang
关注
修改于 2019-07-08 10:56:09
修改于 2019-07-08 10:56:09
1.2K
0
举报
文章被收录于专栏:
腾讯云容器服务团队的专栏
腾讯云容器服务团队的专栏
Author:
Jimmy Zhang
(张浩)
K8s中使用传统方式部署应用的挑战
应用部署示例
编辑,部署和更新应用的众多资源描述文件心智负担较重
没有统一的视图来看待一个应用的相关资源
缺乏有效机制来管理应用的整个生命周期
无法管理应用的依赖
难以共享和复用现有的应用
什么是Helm
Helm是一个应用于K8s的包管理器,类似于YUM或者APT
Helm将原生应用程序涉及到的众多K8s资源对象打包成一个所谓的Chart,以此实现统一的管理
对于应用发布者而言,可以通过Helm来打包应用,管理应用依赖关系,管理应用版本,发布到应用仓库
对于应用使用者而言,使用Helm后无需手动编写Manifests文件,通过简单的操作即可完成对应用的安装,升级,回滚,卸载
Helm核心概念
Chart
:Helm的软件包,采用TAR格式,它包含了一组相关的K8s资源对象的Yaml文件
Release
:Chart包的一个部署实例,包含了特定的配置
Repository
:Helm的软件仓库,本质上是一个Web服务器,包含了若干的Chart包和一个index文件
Helm
:客户端命令行工具,用于完成Chart的制作,部署以及一系列管理操作
Tiller
:Helm的服务端组件,部署在K8s集群中,用于完成Helm的请求,实现针对Release的一系列操作
Helm系统架构
Helm系统架构
云上集成Helm的问题
如何满足用户通过控制台来管理应用的需求?
如何将Helm命令行客户端的功能集成到控制台?
如何最大限度兼容Helm原生功能,同时降低用户的使用门槛?
如何与应用仓库相结合以完成闭环操作?
TKE集成Helm的系统架构
TKE集成Helm的系统架构
核心实现
gRPC转REST
通过引入appscode/swift项目将Tiller 服务代理为适合控制台的REST接口
Sync转Async
通过开发一个swift的反向代理组件 将某些耗时较多的同步操作异步化
返回特定的结构化数据
反向代理中包装Helm原生接口 维护TKE自定义的业务数据
实现功能
Helm功能的开通
应用的创建,展示,更新,回滚,删除
应用的自定义配置
应用所包含的资源展示
界面示例
Helm功能开通
应用详情
版本历史
资源列表
资源状态
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
kubernetes
系统架构
swift
ios
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
kubernetes
系统架构
swift
ios
评论
登录
后参与评论
0 条评论
热度
最新
推荐阅读
目录
K8s中使用传统方式部署应用的挑战
什么是Helm
Helm核心概念
Helm系统架构
云上集成Helm的问题
TKE集成Helm的系统架构
核心实现
实现功能
界面示例
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档
0
0
0
推荐