k8s的控制应用Helm

一部署helm

1 安装helm

2 配置helm命令补齐

二helm常用操作

命令 描述
create 创建一个 chart 并指定名字
dependency 管理 chart 依赖
get 下载一个 release。可用子命令:all、hooks、manifest、notes、values
history 获取 release 历史
install 安装一个 chart
list 列出 release
package 将 chart 目录打包到 chart 存档文件中
pull 从远程仓库中下载 chart 并解压到本地 # helm pull stable/mysql -- untar
repo 添加,列出,移除,更新和索引 chart 仓库。可用子命令:add、index、 list、remove、update
rollback 从之前版本回滚
search 根据关键字搜索 chart。可用子命令:hub、repo
show 查看 chart 详细信息。可用子命令:all、chart、readme、values
status 显示已命名版本的状态
template 本地呈现模板
uninstall 卸载一个 release
upgrade 更新一个 release
version 查看 helm 客户端版本

2.1 查询官方应用中心

helm search hub nginx #在官方仓库中搜索

helm search repo nginx #在本地仓库中搜索

2.2 管理第三方repo源

#添加微软仓库

#查看仓库信息

#查看仓库存储helm清单

#删除第三方存储库

helm repo remove aliyun

2.3 helm的使用方法

1 查找chart

2 查看chart信息

3 安装chart 包

helm install bitnami/nginx

#卸载项目

helm uninstall

2.4 安装项目前预定义项目选项

#拉取项目

helm pull bitnami/nginx

vim values.yaml

#上传项目所需要镜像到仓库

#安装本地项目

#更新项目

vim values.yaml

#查看历史

#删除项目

三 构建helm中的chart包

3.1 Helm Chart目录结构

#建立chart项目

timinglee/

├── charts #目录里存放这个chart依赖的所有子chart。

├── Chart.yaml #用于描述这个 Chart 的基本信息

#包括名字、描述信息以及版本等。

├── templates #目录里面存放所有 yaml 模板文件。

│ ├── deployment.yaml

│ ├── _helpers.tpl #放置模板助手的地方,可以在整个 chart 中重复使用

│ ├── hpa.yaml

│ ├── ingress.yaml

│ ├── NOTES.txt

│ ├── serviceaccount.yaml

│ ├── service.yaml

│ └── tests

│ └── test-connection.yaml

└── values.yaml #用于存储 templates 目录中模板文件中用到变量的值

3.2 构建方法

vim Chart.yaml

vim values.yaml

image:

repository: myapp

pullPolicy: IfNotPresent

tag: "v1"

ingress:

enabled: true

className: "nginx"

annotations: {}

kubernetes.io/ingress.class: nginx

kubernetes.io/tls-acme: "true"

hosts:

paths:

  • path: /

pathType: ImplementationSpecific

#语法检测

#项目打包

#项目可以通过各种分享方式发方为任何人后部署即可

四 构建helm仓库

4.1 在harbor仓库中构建一个公开的项目

4.2 安装helm push插件

4.2.1 在线安装

root@k8s-master helm\]# dnf install git -y \[root@k8s-master helm\]# helm plugin install https://github.com/chartmuseum/helm-push

4.2.2 离线安装

#创建helm plugin的存放目录

mkdir ~/.local/share/helm/plugins/helm-push -p

#解压push插件包到指定目录

#查看helm调用命令是否成功

4.3 上传项目到仓库

4.3.1 添加仓库

#添加仓库时报错,因为我们用的是加密访问

#为helm添加证书

#更新本地ca认证库

#再次添加仓库

4.3.2 上传本地项目

#查看项目上传情况

#更新仓库

#再次查看

五 helm的版本迭代

5.1 从新构建新版本项目

vim timinglee/Chart.yaml

vim timinglee/values.yaml

tag: "v2"

5.2 上传项目到helm仓库中

5.3 更新应用

#1.更新

#显示项目版本

#2.应用回滚

相关推荐
让子弹飞023 分钟前
36.2Linux单总线驱动DS18B20实验(详细讲解代码)_csdn
linux·ubuntu·驱动的分离和分层
Yana.nice18 分钟前
yum list 和 repoquery的区别
linux
码出钞能力1 小时前
更换libc.so导致linux变砖,通过LD_PRELOAD挽救
linux·服务器
小马学嵌入式~1 小时前
嵌入式 SQLite 数据库开发笔记
linux·c语言·数据库·笔记·sql·学习·sqlite
小猪咪piggy2 小时前
【JavaEE】(24) Linux 基础使用和程序部署
linux·运维·服务器
Haven-2 小时前
Linux常见命令
linux·基本指令
IT 小阿姨(数据库)2 小时前
PgSQL中pg_stat_user_tables 和 pg_stat_user_objects参数详解
linux·运维·数据库·sql·postgresql·oracle
MChine慕青2 小时前
顺序表与单链表:核心原理与实战应用
linux·c语言·开发语言·数据结构·c++·算法·链表
虎头金猫3 小时前
如何在Linux上使用Docker在本地部署开源PDF工具Stirling PDF:StirlingPDF+cpolar让专业操作像在线文档一样简单
linux·运维·ubuntu·docker·pdf·开源·centos
努力学习的小廉4 小时前
深入了解linux系统—— 线程同步
linux·服务器·数据库·算法