当前位置: 首页 > news >正文

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源

  • 阿里云仓库:https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

  • bitnami仓库: https://charts.bitnami.com/bitnami

  • 微软仓库:Index of /kubernetes/charts/

  • 官方仓库: https://hub.kubeapps.com/charts/incubator

#添加微软仓库

#查看仓库信息

 #查看仓库存储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:
    - host: myapp.timinglee.org
      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.应用回滚 

相关文章:

  • 【学习笔记】LLM推理与部署
  • Spring6:10 数据校验-Validation
  • 基于SpringBoot+Vue的在线拍卖管理系统+LW示例参考
  • JavaScript 赋值运算符
  • windows剪切板的内容无法拷贝到虚拟机virtualbox里的Rocky Linux中 --Draft
  • Unity图形学Shader快速回顾
  • C++ Json-Rpc框架-2框架(服务端模块 客户端模块 框架设计)
  • 【Python】【PyQt5】设置事件绑定(例为按钮点击显示提示框)
  • 生物信息复习笔记(2)——测序基本概念
  • xampp安装教程与配置
  • React Router使用方法
  • 单片机开发资源分析实战——以STM32F103ZET6为例子,分析我们的单片机
  • matlab的meshgrid
  • 从零构建大语言模型全栈开发指南:第二部分:模型架构设计与实现-2.1.1自注意力机制(Scaled Dot-Product Attention)的逐行代码实现
  • kali没网 | 配置代理
  • 算法-分治
  • VSCode相关文件折叠展开
  • 【数据分析】有关前文的复习
  • 数据结构——树
  • 《大数据视角下美团优选消费者购买决策影响因素研究》开题报告
  • 大学2025丨专访清华教授沈阳:建议年轻人每天投入4小时以上与AI互动
  • 巴基斯坦所有主要城市宣布进入紧急状态,学校和教育机构停课
  • 长三角铁路五一假期发送旅客超2000万人次,同比增幅超一成
  • 秦洪看盘|涌现新逻辑,A股放量回升
  • “五一”假期国内出游3.14亿人次,国内游客出游总花费1802.69亿元
  • “五一”假期第四天,全社会跨区域人员流动量预计超2.7亿人次