k8s的helm

之前部署一个应用的基本过程

  1. 编写yaml文件
  2. 使用deployment暴露端口
  3. 建立Service服务
  4. Ingress:负载均衡
缺点

如果是部署单一应用,或者是少数的应用服务的情况下,使用这种方法是比较合适的
当有些应用场景比如微服务,在这种情况下可能会有几十个服务,每个服务都有一套yaml文件,这样就会导致需要维护大量的yaml文件,即便是做一个版本管理在这种情况下也会特别的不方便。

helm介绍

helm是一个k8s的包管理工具,就像Linux下的包管理器,图yum/apt等,可以很方便的将之前打包好的yaml文件部署到kubernetes上。

可以解决那些问题?

(1)使用helm可以把这些yaml文件作为一个整体进行管理,不需要单个维护
(2)可以实现yaml文件的高效复用
(3)使用helm应用级别的版本管理

Helm三个重要概念

helm: 是一个命令行客户端工具
Chart:把yaml进行打包,是yaml文件的集合
Release:基于Chart部署的实体,应用级别的版本管理部分,一个chart呗Helm运行后将会生成对应的一个release;将在k8s中创建出真实运行的资源对象。

配置helm仓库

(1)添加仓库
helm repo add 仓库名称 仓库地址
(2)删除仓库
helm repo remove 仓库名称
(3)列出仓库
helm repo list
(4)更新仓库
helm repo update

使用chart部署一个应用

查找chart:界面的名字使用的是weave使用这个命令可以获得以下结果
helm search repo weave
查询结果
第一步:使用命令搜索应用

helm search repo 名称 (Weave)

第二步: 根据搜索到的内容选择进行安装

helm install 安装之后名称 搜索之后应用名称
# 查看安装之后状态
helm list
helm status 安装之后名称

如何自己创建Chart

1、使用命令创建chart

helm create chart名称
  • ChartYaml:当前chart属性配置信息
  • templates: 编写yaml文件放到这个目录下面
  • values.yaml:定义yaml文件中可以使用的的一些全局变量,template下的一些配置文件可以使用这些变量

2、在templates文件夹创建两个yaml文件

  • deployment.yaml
  • service.yaml

3、安装Chart

helm install web1 mychart

4、应用的更新和升级

helm upgrade chart名称 目录
### Kubernetes Helm 模板使用教程 #### 创建新的 Helm 图表 为了简化新图表的创建过程,`helm create` 命令提供了一种便捷的方法来初始化项目结构。执行此命令后会自动生成一系列标准配置文件,包括 `Chart.yaml`, `values.yaml`, 以及多个资源定义文件如 `deployment.yaml`, `service.yaml`, 和其他必要的 YAML 文件[^1]。 ```bash $ helm create mychart ``` 这将在当前工作目录下建立名为 `mychart` 的子目录,并填充上述提到的各种样板文件。 #### 控制结构的应用 Helm 支持多种控制逻辑以便更灵活地构建动态模板。主要使用的有: - **if/else**: 实现条件判断; - **with**: 设定作用域; - **range**: 进行列表遍历; 这些关键字允许开发者基于输入参数调整最终渲染出来的 K8s 资源描述文档的内容[^2]。 例如,在 `_helpers.tpl` 中可以找到如下片段用于生成服务名: ```go {{- define "fullname" -}} {{ .Release.Name }}-{{ template "name" . }} {{- end -}} {{/* Template: name */}} {{- define "name" -}} {{ default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-}} ``` 这段 Go 模板语法展示了如何组合发布实例的名字与其他变量形成完整的 DNS 友好型字符串。 #### 定义可重用组件 对于那些频繁重复出现的部分,可以通过 `define` 来声明独立的功能单元,之后再通过 `template` 或者 `include` 函数调用它们。通常这类辅助函数会被放置于以连字符打头的特殊文件里,比如常见的 `templates/_helpers.tpl`[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值