本文只涉及Helm的Chart操作,不会对其他知识进行过多描述。至于安装这块,麻烦自行百度吧,一大堆呢。

在容器化的时代,我们很多应用都可以部署在docker,很方便,而再进一步,我们还有工具可以对docker进行编排,Kubernetes就是一个很好的工具。再再进一步,Kubernetes出现了helm,可以将多个服务更好的编排组合成一个应用。

Helm

Helm的作用相当于node.js下的npm,对于应用发布者而言,可以通过Helm打包应用,管理应用依赖关系,管理应用版本并发布应用到软件仓库。

Helm 是一个命令行下的客户端工具。主要用于 Kubernetes 应用程序 Chart 的创建、打包、发布以及创建和管理本地和远程的 Chart 仓库。

Chart

chart是helm的应用打包格式。chart是描述相关的一组Kubernetes资源的文件集合。单个chart可能用于部署简单的东西,比如memcached pod,或者一些复杂的东西,比如完整的具有HTTP服务,数据库,缓存等的Web应用程序堆栈。

使用Helm创建Chart

windows下使用cmd或者powershell都可以,这里我使用powershell,使用helm create命令创建一个wechat应用的chart。创建的目录结构如下:

Chart.yaml:描述chart的概要信息,name和version是必须项。

values.yaml:chart支持在安装时跟据参数进行定制化配置,values.yaml则提供了这些配置参数的默认值。

templates目录:各类Kubernetes资源的配置模板都放在这里。Helm会将valuees.yaml中的参数值注入模板中,生产标准的YAML配置文件。

模板是Chart最重要部分,也是helm最强大的地方。模板增加了应用部署的灵活性,能够适用于不同的环境,虽然配置很复杂......

templates/NOTES.txt:chart的简易使用文档。

deployment.yaml,ingress.yaml,service.yaml就是我们的模板了,当然我们可以把一个服务的配置模板用一个文件编写,不同的资源配置我们可以用三个横杠---来进行分割。

helm采用了GO语法来编写chart,支持变量,对象,函数,流控制等功能。

templates/_helpers.tpl:定义子模版,在模板中{{ include "wechat.fullname" . }}就是引用子模板。

编写自己的chart

接下来我们编写一个自己的chart,没有那么复杂,只是chart的简单操作。这里我将我们服务两个微信服务(一个后台,一个UI)打包成一个chart。

对于配置,这里教大家一个偷懒的方式,可以将现成服务的yaml配置直接拉下来,我们是使用腾讯云的容器服务,在已部署的服务中我们可以直接查看它的YAML配置,直接复制下来稍微改动即可。

这里我将一个服务的资源配置模板写在一个同一个yaml文件中,同时删除非必需的内容。剩下如下内容。

而后我跟据需要将少数配置进行参数化,将需要参数化配置的内容写在values.yaml中即可。这里我只将iamge和ports进行参数化配置。

ui.yaml的配置同上,基本就算完成了。

将chart上传到TencentHub

TencentHub上传Helm Chart有两种方式,一种是使用helm打包后网页直接上传chart包,另一种是使用helm命令行工具,使用命令helm push整个chart目录。这里我们选择后者。

在上传之前我们需要:

1.本地 Helm 客户端添加 Tencent Hub 的 repo。

使用命令行输入

helm repo add mycharts https://hub.tencentyun.com/charts/mycharts --username myname --password mypassword
  • mycharts 替换为自己仓库的命名空间 (用户名或组织名)

  • myname 替换为 Tencent Hub 账号用户名

  • mypassword 替换为 Tencent Hub 账号密码

2.安装Tencent Hub 的 helm-push 插件。

使用命令行输入

helm plugin install https://github.com/imroc/helm-push

完成后我们就可以上传Helm Chart了。

使用命令

上传文件夹

helm push ./myapp mycharts

上传压缩包

helm push myapp-1.0.1.tgz mychart 

上传成功后在Tencent Hub即可看到我们上传的chart的信息了

结束

好了,到这就结束了,接下来还有一篇写写腾讯云使用chart部署应用以及.net core使用k8s作为配置中心,如何读取configMap。以及中间遇到的一些坑吧......

原文地址:https://www.cnblogs.com/fanshaoO/p/10401212.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

k8s使用helm打包chart并上传到腾讯云TencentHub相关推荐

  1. 拉取ftp服务器上的文件_winscp和云服务器,2步实现winscp将文件上传到腾讯云Linux云服务器...

    WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端.同时支持SCP协议,它的主要功能就是在本地与远程计算机间安全的复制文件.与使用FTP上传代码相比,通过WinSCP可以直接使 ...

  2. 上传excel腾讯云服务器,使用SpringBoot上传文件到腾讯云

    最近在做一个项目,涉及到腾讯云上传文件/图片到服务器,为了图方便并且提升访问速度,想着上传到腾讯云存储桶是一个不错的选择.腾讯云存储桶的创建可见我之前的文章. 当然存储桶里面不仅可以存图片,也可以存储 ...

  3. html5 dzzxjbd cn,UEditor实现单张图片上传至腾讯云(对象存储服务)功能(html5

    UEditor文件上传默认只支持后端语音,因为项目是前后端分离开发,所以需要前端自行实现图片上传. 这里是直接修改的 ueditor/ueditor.all.js文件 ueditor.all.js中找 ...

  4. Java导出Excel文档(poi),并上传到腾讯云对象存储服务器

    需求 后台生成周报月报季报年报Excel,将文件下载链接推送给对应客户 开发思路: 1.根据选定日期生成周报,月报,季报,年报数据 2.将这些数据报告生成Excel表格 3.把生成的文件上传到腾讯云对 ...

  5. 腾讯云对象存储的完整教程,java将文件上传到腾讯云上后返回可以访问的连接

    先前使用的是七牛云,是挺好用的,但是七牛对于测试域名有一个月的时间限制.测试域名失效后上传的图片等文件就不能访问了.但是腾讯云每个注册的账户有50G的对象存储的空间.而且没有时间限制.所以就采用腾讯的 ...

  6. spring mvc 附件上传至腾讯云qcloud

    简单记录主要是便于自己用,有需要的参考一下... 上传至腾讯云,相关文档参阅官方文档 附件为比较早的版本,自己修改过 1.实体bean --用multipartFile接收 public class ...

  7. 使用POI读取EXCEL模板并填充数据,上传至腾讯云储存桶

    读取EXCEL模板,并填充数据生成文件 前言 一.POI导入 二.具体实现 1.制作我们的模板 2.读取模板来生成新的EXCEL 3.查看生成结果 三,传到腾讯云储存桶里 1.导入COS依赖 2.写个 ...

  8. php腾讯云+视频上传失败,腾讯云视频上传和播放尝试总结

    项目中需要用到腾讯云视频,做了一个完整的流程尝试,总结一下. 基本需求是通过后台管理页面上传视频,然后通过网页,Android和iOS播放视频. 腾讯视频分三大部分:视频上传,视频处理,视频播放,相应 ...

  9. 微信小程序视频图片上传到腾讯云COS对象储存

    配置好腾讯云账号 下载对应SDK引入使用,这里提供实践代码. let COS = require('./utils/cos-wx-sdk-v5'); //签名生成配置数,可自行生成,或者后台处理好给你 ...

最新文章

  1. 分治法解决最大子数组问题
  2. android:shareduserid获取资源,关于 android:sharedUserId=android.uid.system
  3. 大学计算机二级考试 vb,大学计算机二级考试常用vb代码.docx
  4. 总结:Sharepoint2010 Client Object Model -- Silverlight Client
  5. 【效率】一次打包,无限复用!教你用 PyCharm 搭建一劳永逸的开发环境
  6. 3 地理位置定位_IP地理定位API的十大用途和应用
  7. 广州交通大学二年级算法实验题目(第一弹)
  8. 自控matlab设计,自动控制原理课程设计--基于MATLAB软件的自动控制系统仿真
  9. 一头扎进Node(三) - File System
  10. playSwift第五章(函数和闭包)
  11. SQL SERVER 系列(2)数据库的创建、修改和删除
  12. 二级c语言考试系统安卓,二级C语言考试系统
  13. 世界知名半导体ST、NXP、Microchip、TI、Renesas公司的MCU和MPU定位、性能及特点
  14. lpop 原子_我问我答核磁共振都能测什么原子核?
  15. DevExpress XPO 学习笔记
  16. 使html轮廓颜色不同,css中border颜色不同怎么设置?
  17. 迅雷7 down.php,普通文件与迅雷、旋风、快车、RayFile的下载地址转换算法
  18. 小程序基础版本库与微信版本关系
  19. 标准证件照电子版怎么做?
  20. uniapp无网络提示

热门文章

  1. 如何使计算机为您读取文档
  2. chrome 固定缩放比例_您如何调整Google Chrome浏览器的用户界面缩放比例?
  3. java cas volatile_每日一个知识点:Volatile 和 CAS 的弊端之总线风暴
  4. 时任上海来伊份互联网事业群总裁王戈钧 :传统企业(线上+线下)移动互联网改造...
  5. MySQL数据库的优化(下)MySQL数据库的高可用架构方案
  6. linux 安装apache http server
  7. 由逻辑异或运算符而发现的PHP诡异运算符优先级
  8. 自动布局AutoLayout
  9. LeetCode --- Valid Parentheses
  10. Dapr集成之GRPC 接口