前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >k8s系列-helm

k8s系列-helm

作者头像
六个核弹
发布2022-12-23 21:24:54
4260
发布2022-12-23 21:24:54
举报

helm 介绍

Helm 是 Kubernetes 的包管理器,Helm 由客户端组件 helm 和服务端组件 Tiller 组成, 能够将一组K8S资源打包统一管理。

Helm 三大核心概念:

  • chart:Helm的打包格式叫做chart,所谓chart就是一系列文件, 它描述了一组相关的 k8s 集群资源
  • release:使用 helm install 命令在 Kubernetes 集群中部署的 Chart 称为 Release
  • Tiller:是 Helm 的服务端,Tiller 负责接收 Helm 的请求,与 k8s 的 apiserver 交互,根据chart 来生成一个 release 并管理 release
  • Repoistory:Helm chart 的仓库,Helm 客户端通过 HTTP 协议来访问存储库中 chart 的索引文件和压缩包

helm 架构图:

helm 安装

安装helm的前提是机器已经安装了K8S

代码语言:javascript
复制
#对应自己k8s版本号
wget https://get.helm.sh/helm-v3.6.1-linux-amd64.tar.gz 
tar xf helm-v3.8.1-linux-amd64.tar.gz
cp linux-amd64/helm /usr/local/bin/helm
chmod +x /usr/local/bin/helm

配置镜像仓库:

代码语言:javascript
复制
# 查看helm镜像仓库 
helm repo list
# 添加镜像仓库
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts  
# 刷新镜像仓库
helm repo update 

Helm指令表

代码语言:javascript
复制
# 查看helm 版本
helm version

# 查看环境变量
helm env

# 检索chart包
helm search repo keyword

# 查看当前部署的所有 release
helm list

# 安装 release
helm install releaseName chartName

# 卸载release
helm uninstall releaseName

# 升级release
helm upgrade releaseName chartName

# 回滚release
helm rollback releaseName revision

# 查看release的基本信息
helm status releaseName

# 查看release的发布历史
helm history releaseName

# 查看添加的chart仓
 helm repo list

 # 本地添加chart仓库
 helm repo add repoName URL

 # 本地删除chart仓库
 helm repo remove repoName

 # 更新本地仓库
 helm repo update

 # 查看chart包中的chart.yaml文件内容
 helm show chart chartName

# 查看release 信息
 helm get all releaseName

自制 chart

首先需要一个准备部署的docker镜像,docker镜像制作的方法往期文章中有介绍。然后执行指令:

代码语言:javascript
复制
helm create test

会得到一个 helm 自动生成的空 chart。它 Chart 的文件夹目录如下:

代码语言:javascript
复制
test
├── charts
├── Chart.yaml
├── templates
│   ├── deployment.yaml
│   ├── _helpers.tpl
│   ├── ingress.yaml
│   ├── NOTES.txt
│   └── service.yaml
└── values.yaml

在根目录下的Chart.yaml 文件内,声明了当前 Chart 的名称、版本等基本信息,这些信息会在该 Chart 被放入仓库后提供检索。templates下的文件从命名我们就能知道是k8s的配置文件。我们按照创建容器控制器的经验就能生成这些文件。values.yaml 提供了应用在安装时的默认参数。

改好配置文件后使用指令:

代码语言:javascript
复制
helm lint --strict test

检查配置文件是否有语法错误。

然后使用指令:

代码语言:javascript
复制
helm package 

打包 chart,打包后会生成 test.tgz 的应用包。

使用指令:

代码语言:javascript
复制
 helm install test test.tgz 

安装helm包,会在你的k8s集群里面生成对应的pod等程序。

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

本文分享自 六个核弹 微信公众号,前往查看

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

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

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