K8s系列之:部署helm3

一、helm3下载地址

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

二、解压安装helm3

tar zxf helm-v3.5.3-linux-amd64.tar.gz
cp -pr linux-amd64/helm /usr/local/bin/
helm --help

三、helm3添加仓库

helm repo add 仓库名称 仓库地址
$ helm repo add azure http://mirror.azure.cn/kubernetes/charts
$ helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts 

helm repo list

四、helm3命令汇总

chart install: 部署

chart upgrade: 升级

chart rollback: 回滚

helm repo remove aliyun
helm install 安装之后名称  搜索到名称

五、创建helm chrt

  • chart.yaml:当前chart属性配置信息
  • templates:编写yaml文件放到这个目录中
  • values.yaml:yaml文件可以使用全局变量
kubectl create mychart


$ cd ~/lesson/helm/
$ helm create mychart
$ tree mychart/
mychart/
├── charts                             #目录里存放这个chart依赖的所有子chart。
├── Chart.yaml                         #用于描述这个 Chart的基本信息,包括名字、描述信息以及版本等。
├── templates                          #目录里面存放所有yaml模板文件。
│   ├── deployment.yaml
│   ├── _helpers.tpl                   #放置模板助手的地方,可以在整个 chart 中重复使用
│   ├── hpa.yaml
│   ├── ingress.yaml
│   ├── NOTES.txt                      #用于介绍Chart帮助信息, helm install 部署后展示给用户。例如:如何使用这个 Chart、列出缺省的设置等。
│   ├── serviceaccount.yaml
│   ├── service.yaml
│   └── tests
│       └── test-connection.yaml
└── values.yaml                        #用于存储 templates 目录中模板文件中用到变量的值。

$ helm install web1 mychart           #直接部署

kubectl create deployment web --image=nginx --dry-run -o yaml > deployment.yaml

kubectl expose deployment web --port=80 --target-port=80 --type=NodePort --dry-run -o yaml > service.yaml

helm install web mychaart/

helm upgrade web mychart/

六、helm实现高可用

实现yaml高效复用,通过传递参数,动态渲染模板,yaml内容动态传入参数生成。
在chart有values.yaml文件,定义yaml文件全局变量

  • 在values.yaml定义变量和值
  • 在具体yaml文件,获取定义变量值

镜像 image
标签 tag
副本数 replicas
资源限制 resource
环境变量 env
端口 port
资源名称 name

replicas: 1
image: nginx
tag: 1.16
label: nginx
port: 80

{{ .Values.变量名称}}

{{ 。Release.Name }}
$ cd ~/lesson/helm/
$ helm create mychart
$ tree mychart/
mychart/
├── charts                             #目录里存放这个chart依赖的所有子chart。
├── Chart.yaml                         #用于描述这个 Chart的基本信息,包括名字、描述信息以及版本等。
├── templates                          #目录里面存放所有yaml模板文件。
│   ├── deployment.yaml
│   ├── _helpers.tpl                   #放置模板助手的地方,可以在整个 chart 中重复使用
│   ├── hpa.yaml
│   ├── ingress.yaml
│   ├── NOTES.txt                      #用于介绍Chart帮助信息, helm install 部署后展示给用户。例如:如何使用这个 Chart、列出缺省的设置等。
│   ├── serviceaccount.yaml
│   ├── service.yaml
│   └── tests
│       └── test-connection.yaml
└── values.yaml                        #用于存储 templates 目录中模板文件中用到变量的值。

$ helm install web1 mychart           #直接部署
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐骑行^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值