部署traefik ingress controller
什么是helm
helm是k8s资源清单的管理工具,它就像Linux下的包管理器,比如centos的yum,ubuntu的apt。
helm有以下几个术语:
helm:
命令行工具,主要用于k8s的chart的创建,打包,发布和管理。
chart:
应用描述,一系列用于描述k8s资源相关文件的集合。
release:
基于chart的部署实体,一个chart被helm运行后会生成一个release实体。
这个release实体会在k8s集群中创建对应的资源对象。
1.2 为什么需要helm
部署服务面临很多的挑战:
(1)资源清单过多,不容易管理,如何将这些资源清单当成一个整体的服务进行管理?
- deploy,ds,rs,...
- cm,secret
- pv,pvc,sc
- ...
(2)如何实现应用的版本管理,比如发布,回滚到指定版本?
(3)如何实现资源清单文件到高效复用?
如上图所示,Helm目前有两个版本,即V2和V3。
2019年11月Helm团队发布V3版本,相比v2版本最大变化是将Tiller删除,并大部分代码重构。
helm v3相比helm v2还做了很多优化,比如不同命名空间资源同名的情况在v3版本是允许的,我们在生产环境中使用建议大家使用v3版本,不仅仅是因为它版本功能较强,而且相对来说也更加稳定了。
官方地址:
https://helm.sh/docs/intro/install/
github地址:
https://github.com/helm/helm/releases
- 部署helm
1.下载软件包
wget https://get.helm.sh/helm-v3.9.4-linux-amd64.tar.gz
2.解压软件包
tar xf helm-v3.9.4-linux-amd64.tar.gz
3.将软件包拷贝到PATH
mv linux-amd64/helm /usr/local/sbin/
4.清理软件包
rm -rf linux-amd64/
5.验证helm是否安装成功
helm -h
可用命令(Available Commands)概述
completion:
生成命令补全的功能。使用"source <(helm completion bash)"
create:
创建一个chart并指定名称。
dependency:
管理chart依赖关系。
env:
查看当前客户端的helm环境变量信息。
get:
下载指定版本的扩展信息。
help:
查看帮助信息。
history:
获取发布历史记录。
install:
安装chart。
lint:
检查chart中可能出现的问题。
list:
列出releases信息。
package:
将chart目录打包到chart存档文件中。
plugin:
安装、列出或卸载Helm插件。
pull:
从存储库下载chart并将其解包到本地目录。
repo:
添加、列出、删除、更新和索引chart存储库。
rollback:
将版本回滚到以前的版本。
search:
在chart中搜索关键字。
show:
显示chart详细信息。
status:
显示已有的"RELEASE_NAME"状态。
template:
本地渲染模板。
test:
运行版本测试。
uninstall:
卸载版本。
upgrade:
升级版本。
verify:
验证给定路径上的chart是否已签名且有效
version:
查看客户端版本。
欢迎来撩 : 汇总all