一、helm
- Helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。
- Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。
- 对于应用发布者而言,可以通过 Helm 打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。
- 对于使用者而言,使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 Kubernetes 上查找、安装、升级、回滚、卸载应用程序。
Helm V3 与 V2 最大的区别在于去掉了tiller:
二、部署helm
官网:https://helm.sh/zh/docs/intro/quickstart/
https://github.com/helm/helm/releases
安装:
tar zxf helm-v3.11.0-linux-amd64.tar.gz
cd linux-amd64/
mv helm /usr/local/bin/
配置helm命令补齐
echo "source <(helm completion bash)" >> ~/.bashrc
source ~/.bashrc
helm version
查询官方应用中心
helm search hub nginx
添加第三方repo源
helm repo add my-repo https://charts.bitnami.com/bitnami
helm repo list
helm search repo nginx
拉取应用
helm pull my-repo/nginx
tar zxf nginx-15.4.0.tgz
cd nginx/
按需修改
vim values.yaml
上传镜像
docker pull bitnami/nginx:1.25.3-debian-11-r0
docker tag docker.io/bitnami/nginx:1.25.3-debian-11-r0 reg.westos.org/bitnami/nginx:1.25.3-debian-11-r0
docker push reg.westos.org/bitnami/nginx:1.25.3-debian-11-r0
部署应用
helm install myapp .
测试:
再次修改配置
vim values.yaml
更新应用
helm upgrade myapp .
查看应用
helm list
查看应用历史
helm history myapp
回滚应用
helm rollback myapp 1
回收
helm uninstall myapp
三、封装chart包
四、helm push插件
五、helm部署storageclass
六、helm部署ingress-nginx
七、helm部署metrics-server
八、kubeapps
九、结合harbor仓库