helm原理及实践

news/2024/11/16 20:52:25/文章来源:https://www.cnblogs.com/fireyun/p/18377065

目录
  • 为什么用Helm
  • Helm是什么
    • 简介
    • 设计目标
    • 架构
    • 核心概念
  • 如何使用
    • 客户端命令使用

为什么用Helm

它使Kubernetes应用程序的配置、部署和维护变得更加简单、可控和可重复。

优势 描述
模板化配置 Helm 将应用程序的配置参数化,并使用模板引擎将这些参数嵌入到配置文件中。这使得配置更加灵活和可重用。
简化部署 Helm Charts(Helm包的描述文件)将应用程序及其所有依赖关系打包到一个单独的包中,从而简化了应用程序的部署和升级过程。
版本控制 Helm 支持版本控制,在不同环境中轻松部署不同版本的应用程序。这对于开发、测试和生产环境之间的一致性非常重要。
集成便捷 Helm 可与Kubernetes中的其他工具和流程集成,例如持续集成/持续部署(CI/CD)流水线。
可扩展性 Helm可以 创建自定义 Charts 和插件,以满足特定的部署需求。

Helm是什么

简介

Helm是k8s的包管理工具,用于配置和部署复杂的应用程序、微服务和资源。

设计目标

Helm 的设计目标是使Kubernetes应用程序的配置和部署变得更加简单、可控和可重复,同时提供了一种标准的方法来管理和共享应用程序配置。

架构

Helm 3 architecture

Image from: https://developer.ibm.com/blogs/kubernetes-helm-3/

核心概念

核心概念 描述
Chart 一个 Helm 包,包含了用于部署一个应用程序的所有文件、模板和默认配置。Chart 是 Helm 的基本构建块,它可以被分享和重用。
Release 表示一个特定 Chart 的实例,即一个正在运行的应用程序的部署。每个 Release 具有独立的配置和状态,允许同时部署多个相同的 Chart 的不同实例。
Repository 存储 Charts 的仓库,允许用户分享和获取 Charts。Helm 社区维护了官方的 Chart 仓库,同时您也可以创建和维护自己的仓库来分享自定义的 Charts。
Values 用于配置和自定义 Charts 的参数。Values 允许用户将配置值传递给模板,并可以根据不同的环境或需求进行更改,以定制化应用程序的部署。

如何使用

客户端命令使用

# 查看helm帮助命令
$ helm -h
The Kubernetes package managerCommon actions for Helm:- helm search:    search for charts
- helm pull:      download a chart to your local directory to view
- helm install:   upload the chart to Kubernetes
- helm list:      list releases of charts...Usage:helm [command]Available Commands:completion  generate autocompletion scripts for the specified shellcreate      create a new chart with the given namedependency  manage a chart's dependenciesenv         helm client environment informationget         download extended information of a named releasehelp        Help about any commandhistory     fetch release historyinstall     install a chartlint        examine a chart for possible issueslist        list releasespackage     package a chart directory into a chart archiveplugin      install, list, or uninstall Helm pluginspull        download a chart from a repository and (optionally) unpack it in local directoryrepo        add, list, remove, update, and index chart repositoriesrollback    roll back a release to a previous revisionsearch      search for a keyword in chartsshow        show information of a chartstatus      display the status of the named releasetemplate    locally render templatestest        run tests for a releaseuninstall   uninstall a releaseupgrade     upgrade a releaseverify      verify that a chart at the given path has been signed and is validversion     print the client version informationFlags:--debug                       enable verbose output-h, --help                        help for helm...# 添加helm仓库
helm repo add --username $HELM_REPO_USERNAME --password $HELM_REPO_PASSWORD helm_publish_test $HELM_REPO_ADDR
# 更新本地repo信息
helm repo update
# 推送chart包
curl -F "chart=nginx" -u $HELM_REPO_USERNAME:$HELM_REPO_PASSWORD $HELM_REPO_PUSH_DIR
# 安装chart包
helm install myapp helm_publish_test/<PACKAGE_NAME>
# 创建chart包
helm create mychart
# 搜索chart包
helm search repo nginx
# 列出chart包的所有版本
helm search repo bcs-webhook-server -l --devel # 包含开发包
# 查看release情况,-v 9用于打印调试日志信息(包含具体的API调用情况)
helm list -v 9
# 拉取chart包到本地
helm pull bitnami/nginx
# 查看本地或仓库中chart包的信息
helm show all bitnami/nginx | less
# 查看chart模版渲染后的内容
helm template my-release ./my-chart --values my-values.yaml
# 查看chart release
helm ls
# 获取已安装chart release的信息
helm get all my-nginx|less
# 打包chart,指定版本
helm package mychart --version 3.10.5
# 安装chart包
helm install -f nginx_values.yaml helm_publish_test/nginx

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/786269.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SAP S4HANA 2023 FPS01 FAA虚拟机发布了

SAP S4HANA 2023 FPS01 FAA虚拟机发布了。 系统不再需要修改虚拟机日期了,提供最高长达三年的许可,业务财务做账都是真实的时间!该虚拟机版本优点: 新版的一键启动脚本,3分钟就能启动完成。内存加载 80GB 就可以启动所有服务。不需要修改虚拟机日期,完美支持业务操作和财…

k8s介绍-英文版

目录WhyWhatSynopsisDesign GoalsArchitectureimage1image2image3Main ComponetsCore Resoucessome core resoucesrelated cmdsHowImplementation MechanismData Flow Why We need a set of tools and technologies designed to efficiently deploy, manage, and orchestrate c…

线段树(2)——懒惰标记Lazy Tag(单运算)及例题

上一篇文章我们讲了线段树的最基本的操作。如果有一种操作叫做区间加法呢?这个时候显然可以依次单点修改,但是时间复杂度太高了。所以可以考虑优化,由于思考过程可能很长,此处直接引入懒惰标记。 懒惰标记就是在对一颗树的所有节点进行某种统一操作时,只对根节点做一个标记…

Python保存数据为xlsx格式

参考代码 运行下面的代码,首先要安装下面这两个库:pandas openpyxlimport pandas as pd processed_data = [{"日期":"20230809","品牌":"Apple"},{"日期":"20230422","品牌":"Huawei"}, ] …

[思考] Diffusion Model

时间线 以下是一些重要的里程碑,它们代表了基于Diffusion的图像生成方法的发展:时间&机构 名称 简述- VAE Variational AutoEncoder,变分自编码器用于图像生成2020.12 VQ-VAE Vector Quantized-Variational AutoEncoder,一种用于生成模型的量化技术2020.12 VQ-GAN Vect…

如何正确使用搜索引擎(屏蔽csdn)

浏览器星愿浏览器 我使用的是星愿浏览器,推荐使用,其中有个性化的设置和搜索引擎的优化辅助,搜索引擎我选择的有:百度 必应 谷歌 DuckDuckGo 检索过程中想要快速切换各种搜索引擎,星愿浏览器有提供辅助拓展插件这里主要推荐每氪净化,可以自动添加屏蔽,例如CSDN搜索后结果…

Pollard Rho 算法

Pollard Rho 算法 难评,看OI-WIKI吧。 引入 Pollard Rho 算法用于求快速找到一个正整数 \(n\) 的一个非平凡因数[1]。 生日悖论不考虑出生年份(假设每年都是365天),问:一个房间中至少多少人,才能使其中两个人生日相通的概率达到 \(50\%\)?解:假设一年有 \(n\) 天,房间…

史上最牛的 权限系统,如何设计? 来了一个 Sa-Token学习圣经

文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 实现技术自由,…

POLIR-政治-真实社政: 理论与事实的统一与颠倒 : “改革”与“政治民主+经济市场” VS 特权集团为“既得利益”以“集权和垄断”的“假改革”忽悠人

改革有两个永恒的目标:经济的市场化 和 政治的民主化。 特权阶层和既得利益者, 为了“保住特权和既得利益”会拼力地“反对这两个目标“, 他们用“集权和垄断”的“假改革”来忽悠人们,实际上是开历史倒车。吴敬琏(经济学家)

软件工程进度报告——第八周

本周尝试练习了飞机购票问题样例1样例2

RK3588 HDMI IN调试

HDMI RX控制器配置:/* Should work with at least 128MB cma reserved above. */&hdmirx_ctrler {status = "okay";/* Effective level used to trigger HPD: 0-low, 1-high */hpd-trigger-level = <1>;hdmirx-det-gpios = <&gpio1 RK_PD5 GPIO_ACT…