返回顶部
首页 > 资讯 > 服务器 >k8s的包管理工具helm使用简介
  • 188
分享到

k8s的包管理工具helm使用简介

2024-04-02 19:04:59 188人浏览 安东尼
摘要

目录Helm Helm是什么?Helm中一个很重要的元素:Chart使用Helm安装helm客户端注意点通过二进制的方式安装helm客户端:添加chart存储库搜索chart存储库安

Helm Helm是什么?

Helm是kubernetes的软件包管理器,类似于yum、apt等包管理工具一样,Helm可以轻松的一键式部署出我们想要的应用。

编写Helm有三个主要目标:

1.轻松地实现从“从零到Kubernetes”;

2.提供与操作系统类似的软件包管理系统;

3.强调将应用程序部署到Kubernetes的安全性和可配置性。

Helm中一个很重要的元素:Chart

chart是Helm的软件包,是航海图的意思。chart是遵循chart规范的一组文件和目录,用于定义要安装到kubernetes中的资源。

chart中包含一个名为chart.yaml的文件,它描述了此chart的版本、名称、说明和作者的一些信息。

chart包含模板,即kubernetes清单。

chart中有一个提供默认配置的文件名字为values.yaml。此文件包含安装和升级期间可覆盖的参数,可以进行修改。

当你所见到一个chart的时候,它可能是一个压缩包,像这个样子ingress-Nginx-4.0.17.tgz,也可以是一个目录ingress-nginx。

它的目录构造可能是这个样子:

[root@k8s-master01 ingress-nginx]# ls
CHANGELOG.md  Chart.yaml  ci  OWNERS  README.md  README.md.Gotmpl  templates  values.yaml

当一个chart被安装时,它的流程可能是这个样子的:

  • Helm读取chart
  • 将定义的值发送到模板,生成kubernetes清单
  • 清单被发送到kubernetes
  • kubernetes根据清单在集群中创建请求的资源

使用Helm

Helm拥有v2和v3版本,这里就忽略v2了,因为我是用的是v3。
Helm提供了一个名为helm的命令行工具,我们使用它进行操作。

安装helm客户端注意点

安装helm时要注意一点,helm的版本要匹配kubernetes的版本,如下图:
具体详细版本对应参考:https://helm.sh/docs/topics/version_skew/

在这里插入图片描述

通过二进制的方式安装helm客户端:

详细说明或其他方式安装参考:Https://helm.sh/docs/intro/install/官方文档
目前到我安装的时候helm的最新版本为3.8.0,而我的k8s集群版本为1.23.x是完全符合的。

下载二进制包

wget https://get.helm.sh/helm-v3.8.0-linux-amd64.tar.gz

解压二进制包

tar xf helm-v3.8.0-linux-amd64.tar.gz

将解压后目录中的helm目录移动到/usr/local/bin/helm下

mv linux-amd64/helm /usr/local/bin/helm

安装结束,灰常简单

添加chart存储库

只有一个客户端工具是没法干活的,我们还需要知道它的chart包从哪来,相当于yum安装的软件源。

  • 添加一个官方存储库
  • 注意:add 后面的名称是自定义的,方便你记住,不是固定的
helm repo add bitnami https://charts.bitnami.com/bitnami

# 我的环境添加的存储库
[root@k8s-master01 ~]# helm repo list
NAME         	URL                                       
ingress-nginx	https://kubernetes.GitHub.io/ingress-nginx
nginx-stable 	https://helm.nginx.com/stable             
bitnami      	https://charts.bitnami.com/bitnami    

查看是否添加成功?其实上面已经演示了,这条命令可以查看你添加过的存储库存不存在

helm repo list

搜索chart存储库

添加了库后,怎么能知道我想安装的chart包存不存在呢?使用下面这条命令

[root@k8s-master01 ~]# helm search repo apache
NAME                    	CHART VERSION	APP VERSION	DESCRIPTION                                       
bitnami/apache          	9.0.2        	2.4.52     	Apache HTTP Server is an open-source HTTP serve...
bitnami/airflow         	12.0.1       	2.2.3      	Apache Airflow is a tool to express and execute...

当然你也可以尝试搜索来自网络中的chart包:

[root@k8s-master01 ~]# helm search hub Wordpress
URL                                               	CHART VERSION 	APP VERSION        	DESCRIPTION                                       
https://artifacthub.io/packages/helm/kube-wordp...	0.1.0         	1.1                	this is my wordpress package                      
https://artifacthub.io/packages/helm/bitnami/wo...	13.0.11       	5.9.0              	WordPress is the world's most popular blogging ...

安装一个chart

安装chart的前提是需要有一个命名空间,当然默认的也可以,为了区分还是创建一个

下面创建一个名为Mysql的命名空间

kubectl create ns mysql

然后安装chart软件包

hellm install my-mysql bitnami/mysql -n mysql

说一下这条命令的含义:

  • my-mysql代表我运行这个chart的名字,是自定义的
  • bitnami/mysql:是存储库的名字加软件包名
  • -n mysql:是指定命名空间的名字

安装完可以查看一下是否安装成功:

需要注意的是:

  • 不管你的Pod资源能不能创建成功,只要helm创建成功了那么这个实例就会存在
  • 同一命名空间内实例名称唯一,再次创建同名称的实例会报错
[root@k8s-master01 ~]# helm list -n mysql
NAME    	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART       	APP VERSION
my-mysql	mysql    	1       	2022-02-17 14:32:38.423267837 +0800 CST	deployed	mysql-8.8.23	8.0.28

这条命令可以查看你创建chart 的一些状态:

[root@k8s-master01 ~]# helm status my-mysql -n mysql

当你不想要这个chart的时候也可以选择卸载掉:

[root@k8s-master01 ~]# helm uninstall my-mysql -n mysql

自定义配置安装

默认安装的配置往往不是我们需要的,那么我们可以将chart包pull下来,然后进行修改参数后再执行。

将chart包pull下来,进行解压,可以看到包内的基本信息

[root@k8s-master01 ~]# helm pull bitnami/mysql
[root@k8s-master01 ~]# tar xf mysql-8.8.23.tgz -C /temp/
[root@k8s-master01 ~]# cd /temp/mysql/
[root@k8s-master01 mysql]# ls
Chart.lock  charts  Chart.yaml  ci  README.md  templates  values.schema.JSON  values.yaml

可以修改他的values.yaml文件,这里就不修改了然后执行修改后的values.yaml文件,因为你执行的是本地文件,就不用加源地址了

[root@k8s-master01 mysql]# helm install mysql-01 -n mysql .

如果你已经运行了这个chart,然后又修改了yaml文件,你可以用这条命令进行更新

[root@k8s-master01 mysql]# helm upgrade --install mysql-01 -n mysql .

就到这吧,只说一下helm的基本使用。
以后会写chart的使用,自己创建chart等内容。

以上就是k8s的包管理工具helm使用简介的详细内容,更多关于k8s包管理工具helm的资料请关注编程网其它相关文章!

--结束END--

本文标题: k8s的包管理工具helm使用简介

本文链接: https://lsjlt.com/news/143009.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • k8s的包管理工具helm使用简介
    目录Helm Helm是什么?Helm中一个很重要的元素:Chart使用Helm安装helm客户端注意点通过二进制的方式安装helm客户端:添加chart存储库搜索chart存储库安...
    99+
    2024-04-02
  • node.js包管理工具Yarn使用简介
    Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具 , 它主要是为了弥补 npm 的一些缺陷而出现的。和npm相比,它...
    99+
    2024-04-02
  • Linux的包管理工具介绍
     概述:     本章内容:软件的运行环境,软件包基础,rpm包管理,yum管理,定制yum仓库,编译安装一、软件运行环境  1.API:Appl...
    99+
    2024-04-02
  • vscode使用nuget包管理工具
    目录一、使用dotnet add package 命令行实现1、列出Nuget本地的路径2、使用dotnet命令安装引用Nuget包3、安装引用指版本使用-v4、使用特定源安装引用N...
    99+
    2024-04-02
  • GoldenGate的Logdump工具使用简介
    Logdump工具是GoldenGate提供的一个用于查询、分析、过滤、查看和保存存储在trail文件或extract文件中的数据的工具。1、启动Logdump工具[oracle@rhel6 ~]...
    99+
    2024-04-02
  • MongoDB mongoexport工具的使用简介
    目录01  基本介绍02  常用参数03  命令04  经验值05  反向导入01  基本介绍   ...
    99+
    2024-04-02
  • Node.js包管理工具怎么使用
    这篇文章主要介绍“Node.js包管理工具怎么使用”,在日常操作中,相信很多人在Node.js包管理工具怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Node.js包管理工具怎么使用”的疑惑有所帮助!...
    99+
    2023-07-06
  • Debian使用哪种包管理工具来管理软件包
    Debian使用APT(Advanced Package Tool)作为主要的包管理工具来管理软件包。APT是一个命令行工具,提供了...
    99+
    2024-03-12
    Debian
  • pytorch简介及常用工具包展示
    目录一、pytorch 简介二、pytorch 优势三、pytorch 常用工具包四、pytorch 注意点五、pytorch 理解六、pytorch-Tensor七、python ...
    99+
    2023-02-24
    pytorch 常用工具包 pytorch 工具包 pytorch 简介 pytorch包
  • node.js的NPM包管理工具如何使用
    这篇文章主要介绍“node.js的NPM包管理工具如何使用”,在日常操作中,相信很多人在node.js的NPM包管理工具如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2022-12-05
    node.js npm
  • node.js包管理工具Yarn如何使用
    本文小编为大家详细介绍“node.js包管理工具Yarn如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“node.js包管理工具Yarn如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Yarn是由F...
    99+
    2023-07-02
  • Python包管理工具pip怎么使用
    这篇“Python包管理工具pip怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python包管理工具pip怎么使用...
    99+
    2023-06-30
  • vscode如何使用nuget包管理工具
    这篇文章主要讲解了“vscode如何使用nuget包管理工具”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vscode如何使用nuget包管理工具”吧!一、使用dotnet add pack...
    99+
    2023-07-01
  • oracle管理工具的介绍
    oracle管理工具的介绍(1)===================================================================sql*plus是oracle自带的工具...
    99+
    2024-04-02
  • JDK14性能管理工具:jstat使用介绍
    今天我们的系列文章要介绍的是这四个工具:Jstat(sun.tools.jstat) 它的全称是Java Virtual Machine Statistics Monitoring Tool,是用来监控JVM状态的工具。jstack(sun...
    99+
    2023-06-03
  • Node.js中的包管理工具npm怎么使用
    本篇内容介绍了“Node.js中的包管理工具npm怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一...
    99+
    2024-04-02
  • Python包管理工具之PDM的使用教程
    目录前言安装使用PDM用pipx安装pdm配置 pdm 自动补全PDM初始化项目PDM 常用命令运行命令查看环境更新包切换Python版本命令别名方案兼容其他方案迁移到pdmpych...
    99+
    2024-04-02
  • Python学习之pip包管理工具的使用
    目录写文的原因pip 简介pip 安装/移除包升级包和查看已安装包搜索包写文的原因 学习 Python 的过程中,经常会使用 pip 命令去安装第三方模块,但细细琢磨下来,我真的掌握...
    99+
    2024-04-02
  • MySQL pt-slave-restart工具的使用简介
        在MySQL主从复制环境的搭建中,常常会遇到一种场景,主库和从库都要初始化用户的账号密码,正常的情况下,需要在主库和从库都关闭session级别的binlog,然后再进行用户信息导入。 &...
    99+
    2022-05-18
    MySQL pt-slave-restart pt-slave-restart工具的使用
  • node中的包和包管理工具怎么安装使用
    这篇“node中的包和包管理工具怎么安装使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“node中的包和包管理工具怎么安装...
    99+
    2023-07-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作