从Helm仓库创建应用流程示例


(一)仓库相关操作

1、添加仓库

helm repo add stable http://mirror.azure.cn/kubernetes/charts

2、更新仓库

helm repo update 

3、查看当前配置的仓库

root@ubuntu:~
NAME    	URL                                     
aliyuncs	https://apphub.aliyuncs.com             
stable  	http://mirror.azure.cn/kubernetes/charts

4、移除已配置的仓库

helm repo remove [仓库名,如aliyuncs]

(二)应用相关操作

1、搜索要安装的应用

root@ubuntu:~
NAME CHART VERSION	APP VERSION	DESCRIPTION aliyuncs/mysql 6.8.0 8.0.19 Chart to create a Highly available MySQL cluster aliyuncs/mysqldump 2.6.0 2.4.1 A Helm chart to help backup MySQL databases usi...
aliyuncs/mysqlha 1.0.0 5.7.13 MySQL cluster with a single master and zero or ...
aliyuncs/prometheus-mysql-exporter	0.5.2 v0.11.0 A Helm chart for prometheus mysql exporter with...
stable/mysql 1.6.9 5.7.30 DEPRECATED - Fast, reliable, scalable, and easy...
stable/mysqldump 2.6.2 2.4.1 DEPRECATED! - A Helm chart to help backup MySQL...
stable/prometheus-mysql-exporter 0.7.1 v0.11.0 DEPRECATED A Helm chart for prometheus mysql ex...

2、查看仓库中的chart的详细信息
命令:

helm search repo [keyword]
helm search hub [keyword]

repo表示在本地所添加的仓库中进行检索;hub表示在Helm Hub中进行检索

root@ubuntu:~
apiVersion: v1
appVersion: 8.0.19
description: Chart to create a Highly available MySQL cluster
home: https://mysql.com
icon: https://bitnami.com/assets/stacks/mysql/img/mysql-stack-220x234.png
keywords:
- mysql
- database
- sql
- cluster
- high availablity
maintainers:
- email: containers@bitnami.com name: Bitnami
name: mysql
sources:
- https://github.com/bitnami/bitnami-docker-mysql
version: 6.8.0

3、安装chart

helm install [chartName] --generate-name 随机生成一个名字
helm install --set name=[自定义名称] [chartName]   使用--set name来自定义名字

其中chartName既可以是已配置仓库中chart的名称,也可以是本地的chart压缩包文件或解压的chart目录,如helm install --set name=mycharts ./mycharts/

4、查看已安装的release

root@ubuntu:~
NAME NAMESPACE	REVISION	UPDATED STATUS CHART APP VERSION
my-nginx	default 1 2021-12-13 18:07:12.956344972 +0800 CST	deployed	nginx-5.1.5	1.16.1

5、升级release

helm upgrade [RELEASE] [CHART] [flags]
$ helm upgrade -f myvalues.yaml -f override.yaml redis ./redis

6、恢复之前的版本

root@ubuntu:~
NAME REVISION	UPDATED STATUS CHART NAMESPACE
test 5 Tue Sep 12 18:43:19 2021	DEPLOYED	test-0.1.0 default root@ubuntu:~
REVISION	UPDATED STATUS CHART DESCRIPTION 1 Thu Aug 24 19:50:32 2021	SUPERSEDED	test-0.1.0	Deletion complete
2 Tue Sep 12 18:31:11 2021	SUPERSEDED	test-0.1.0	Upgrade complete
3 Tue Sep 12 18:37:31 2021	SUPERSEDED	test-0.1.0	Upgrade complete
4 Tue Sep 12 18:40:25 2021	SUPERSEDED	test-0.1.0	Rollback to 2 5 Tue Sep 12 18:43:19 2021	SUPERSEDED	test-0.1.0	Rollback to 2 6 Tue Sep 12 18:43:25 2021	DEPLOYED test-0.1.0	Rollback to 2 root@ubuntu:~
Rollback was a success! Happy Helming!

7、删除release

root@ubuntu:~
release "my-nginx" deleted

(三)其它

从仓库拉取chart

helm pull [chartName]

检查chart包中的文件内容是否正确(即该chart包去k8s中是否能够成功安装部署,包可以是chart目录、chart压缩包)

helm lint [chartName]
helm lint demo-0.1.0.tgz

上传chart到chart仓库

helm push [chartPackage] repoName
helm push demo.tgz harbor-10.30.12.211 --username=admin --password=Harbor12345

查看helm的版本

helm version

查看环境变量

helm env

创建chart目录(含基本配置文件和目录)

helm create chartName
helm create abc

将chart目录打包

helm package chartDir
helm package abc

chartDir为chart目录


adouk 2023年1月13日 09:23 收藏文档