Rancher 应用商店离线环境使用

前言


Rancher (v2.5+ ) 应用商店可以方便的安装 Helm3 构建的应用,并且支持私有 helm 应用仓库,方便了内网离线环境下的使用。本文以内网离线环境为前提、以 MySQL 5.7.43 版本为应用举例,从零开始手把手教你如何制作并应用。

1、环境准备


1.1 安装 helm

后续 helm 打包及仓库推送均在一台 centos 7 服务器中进行,所以需要在该服务器上安装 helm 程序。

具体下载及安装教程参考 https://helm.sh/docs/intro/install/

# 解压缩 helm 二进制包
tar -zxvf helm-v3.14.0-linux-amd64.tar.gz
# 移动位置
mv linux-amd64/helm  /usr/local/bin/helm
# 验证安装
helm help
1.2 私有 helm 应用仓库搭建

在 Rancher 上或者任意 docker 环境中搭建 helm 应用仓库,后续才可以在 Rancher 中添加自定义应用。

应用商店使用 chartmuseum/chartmuseum:latest, 可以在 Docker Hub 中搜索该镜像,下载后拷贝至离线环境,启动命令如下:

docker run -d -p 8080:8080 --name chartmuseum \
-v /home/charts:/charts \
-e STORAGE_LOCAL_ROOTDIR=/charts \
-e STORAGE=local
chartmuseum/chartmuseum:latest

注意提前建好持久化目录 /home/charts

1.3 下载 MySQL helm charts

以 bitnami 制作的 mysql helm chart 模板为基础,免去自己从头编写模板文件的步骤,后续深入学习后考虑完全自主编写。

下载地址:mysql 10.1.1 · bitnami/bitnami (artifacthub.io)

在这里插入图片描述

点击下载 tgz

在这里插入图片描述

1.4 拉取应用镜像

打开下载的 tgz 压缩包,用文本工具查看 Chart.yaml 有如下内容:

annotations:
  category: Database
  images: |
    - name: mysql
      image: docker.io/bitnami/mysql:8.0.36-debian-12-r10
    - name: mysqld-exporter
      image: docker.io/bitnami/mysqld-exporter:0.15.1-debian-12-r10
    - name: os-shell
      image: docker.io/bitnami/os-shell:12-debian-12-r18

在这里我们需要把这三个镜像都下载后导出为 tar 包,然后导入到离线环境中才可以使用。由于我的需求是 MySQL 5.7.43 版本,docker.io/bitnami/mysql:5.7.43 是我下载导出的镜像,这里版本根据实际情况修改即可。

至此,我们需要完成以下事情:

  1. 在离线环境启动 chartmuseum 服务;

  2. 下载 MySQL chart 压缩包 mysql-10.1.1.tgz 并放至离线环境服务器中;

  3. 导出压缩包内 Chart.yaml 文件中所列出的所有镜像包并导入离线环境服务器或私有镜像仓库中;

2、制作 Helm Chart


2.1 编辑 values.yaml
  1. 解压缩 mysql-10.1.1.tgz 包,编辑 values.yaml 文件,以下仅列出需要修改的配置:

    编辑全局层面配置信息:

    # 全局层面配置
    global:
      # 配置私有镜像仓库 Harbor 服务地址
      imageRegistry: "192.168.1.100:18888"
      # 配置私有镜像仓库秘钥(公开仓库可不配置)
      imagePullSecrets: ["harbor"]
      # 配置默认 pvc 存储类为 Longhorn,注意需要小写
      storageClass: "longhorn"
    
    

    编辑镜像层面配置信息:

    image:
      registry: docker.io
      repository: bitnami/mysql
      # 这里 tag 需要修改为 5.7.43,和导入的镜像对应
      tag: 5.7.43
    

    服务层面配置信息:

      service:
        # 服务类型:NodePort
        type: NodePort
        ports:
          mysql: 3306
    
2.2 新建 questions.yaml

questions.yaml 是针对 Rancher 应用商店可视化配置模板参数的配置文件,通过表单问答式配置相关信息,内容如下:

questions:
- variable: auth.rootPassword
  label: "MySQL Root Password"
  description: "MySQL 初始 Root 密码配置"
  type: password
  required: true
  group: "配置信息"

- variable: auth.database
  label: "MySQL Database Name"
  description: "MySQL 初始创建数据库"
  type: string
  required: true
  default: "my_database"
  group: "配置信息"

解释:可以配置多个参数,此处以 root 密码和初始数据库为例,其中 variable 对应模板配置 values.yaml 中的 key, 其他属性看字面就能理解。

2.3 重新打包
# 返回到 mysql 目录外部执行
$ helm package mysql
Successfully packaged chart and saved it to: /root/helm/mysql-10.1.1.tgz
2.4 上传至私有 helm chart 仓库

之前搭建的 chartmuseum 服务 url 为 http://192.168.1.100:8080

  • 添加私有仓库

    helm repo add hntl-helm-chart http://192.168.1.100:8080
    
  • 上传 tgz 包至仓库

    curl --data-binary "@mysql-10.1.1.tgz" http://192.168.1.100:8080/api/charts  
    
  • 从仓库中删除

    curl -X DELETE http://192.168.1.100:8080/api/charts/mysql/10.1.1
    
  • 更新仓库

    helm repo update
    
  • 搜索仓库

    helm search repo
    

3、Rancher 应用商店


3.1 添加 Chart 仓库
  1. 进入 Rancher 仪表板

    在这里插入图片描述

  2. 进入应用市场

    在这里插入图片描述

  3. 添加私有仓库

    在这里插入图片描述

    填写仓库地址

    在这里插入图片描述

  4. 更新仓库

    在这里插入图片描述

3.2 创建 Chart 应用

在 charts 列表中可以看到我们私有仓库中的应用信息
在这里插入图片描述

点击即可进入配置页面,“配置项” 即为 questions.yaml 中的 group
在这里插入图片描述

配置完成后点击“安装”即可

在这里插入图片描述

稍等片刻,在对应的命名空间中就可以看到服务已经正常部署

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/564134.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自然资源领域-点状用地和乡村振兴产业用地办理指引

自然资源领域-点状用地和乡村振兴产业用地办理指引(广州借鉴) “点状供地”是相对于传统的“片状供地”而言的一种新型供地方式,是办理项目建设用地报批及供地手续的关键环节,也是项目开发建设的重要依据。 通俗说:“…

半导体制造工艺之分类浅述

半导体制造工艺分为逻辑制程(也叫逻辑工艺)和特殊制程(也叫特色工艺)。 1、逻辑工艺概述 随着集成电路行业沿着摩尔定律不断发展,晶体管数量增加的同时,工艺节点不断缩小。先进逻辑工艺是相对的概念,2005年全球先进逻辑工艺的工艺节点在65/55纳米,现在则变为3纳米。中…

AOP容器面向切面编程(动态代理)

aop面向切面编程 动态代理方式进行 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency> 面向特定的方法进行编程 统计方法的执行耗时&#xff0c;要执行的是哪个方…

Vue前端框架如何调用天聚数行API?

Vue是一个业内优秀的前端解决方案&#xff0c;采用了最新流行的MVVM框架模式&#xff0c;深受web前端开发者的喜爱&#xff0c;在相关开发者社区也一直都是热门交流话题。那么&#xff0c;如何通过Vue调用天行数据的API接口呢&#xff0c;下面就具体给大家示例。 vue采用的是数…

【Interconnection Networks 互连网络】Flattened Butterfly 扁平蝶形拓扑

Flattened Butterfly 扁平蝶形拓扑 1. 传统蝶形网络 Butterfly Topology2. 扁平蝶形拓扑 Flattened Butterfly3.On-Chip Flattened Butterfly 扁平蝶形拓扑应用于片上网络 Flattened Butterfly 扁平蝶形拓扑 扁平蝶形拓扑是一种经济高效的拓扑&#xff0c;适用于高基数路由器…

护眼落地灯哪个牌子好?落地灯十大知名品牌

一款优异的落地灯不只有照明的作用&#xff0c;更有装修作用。只不过&#xff0c;市面上的落地灯产品很多&#xff0c;质量良莠不齐&#xff0c;很多人不知道怎么挑选是好。小编的主张是从品牌下手&#xff0c;挑选口碑上佳的品牌落地灯产品。若问护眼落地灯哪个牌子好&#xf…

【学习】人工智能在软件测试中的作用有哪些

随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;已经渗透到各个领域&#xff0c;并发挥着不可或缺的作用。其中&#xff0c;在软件测试方面&#xff0c;AI的应用也愈发普遍。本文将探讨人工智能在软件测试领域的关键作用以及其带来的积极影响。 一、提升测…

0.5W 3KVDC 隔离单、双输出 DC/DC 电源模块——TPV-W5 3.3V, 5V,12V 15V系列

TPV-W5系列提供正负双输出和单输出&#xff0c;工业级环境温度&#xff0c;用于PCB安装的国际标准结构。此系列产品小巧&#xff0c;效率高&#xff0c;低输出纹波及能承受3000V以上的耐压&#xff0c;用于需要正负电压或单输出和高隔离电压的场合。封装有SIP和DIP可选。

三、SpringBoot整合MyBatis

本章节主要描述MyBatis的整合&#xff0c;以及使用mybatis-generator-maven-plugin生成代码骨架&#xff0c;源码&#xff1a; jun/learn-springboot - Gitee.com 一、首先建数据库 本示例用的是MySQL8.0.23&#xff0c;建表t_goods、t_orders&#xff0c;略... 二、goods模块…

李廉洋:4.22现货黄金,WTI原油晚间行情走势分析及策略。

今年&#xff0c;全球金融市场正遭遇一股他们未曾预料到的力量&#xff1a;强势美元卷土重来&#xff0c;而且似乎将持续下去。根据美国商品期货交易委员会(CFTC)的数据&#xff0c;一项衡量交易员情绪的流行指标在今年年初指向看跌&#xff0c;但现在已转变为2019年以来最看涨…

模板建站的优缺点

模板建站是一种快速建立网站的方式&#xff0c;它可以通过使用预先设计好的页面模板&#xff0c;快速搭建出一个具有基本功能的网站&#xff0c;而无需手动编写网站代码。 模板建站具有以下优缺点。 优点&#xff1a; 1.快速建站&#xff1a;采用模板建站技术&#xff0c;可以…

使用yum安装pt-query-digest 并分析MySQL慢查询日志

查看慢SQL日志 1、查看慢日志设置 show variables like slow_query_log%; 2、设置慢日志开关 -- 关闭 SET GLOBAL slow_query_log OFF; -- 开启 SET GLOBAL slow_query_log ON; 3、查看慢日志阈值&#xff0c;即SQL执行时间超过阈值后&#xff0c;才会记录在慢日志文件中 …

光学雨量计雨量传感器在气象监测中的重要作用

光学雨量计雨量传感器在气象监测中的重要作用 光学雨量计是一种使用光学原理测量降水量的雨量传感器&#xff0c;它在气象监测中起到了重要的作用。本文将从原理、优势和应用等方面阐述光学雨量计的重要性。 河北稳控科技光学雨量计是利用光的传播和散射特性实现降水量测量的…

docker容器技术篇:centos7搭建docker swarm集群

centos7搭建docker swarm集群 一 docker swarm 概述 1.1 swarm简介 Docker Swarm是 Docker 的集群管理工具&#xff0c;Swarm 在 Docker 1.12 版本之前属于一个独立的项目&#xff1b;其主要作用是把Docker集群抽象为一个整体&#xff0c;并且通过一个统一管理这些 Docker 主…

ST05:根据跟踪记录表字段的变化判断所属的透明表及字段

ST05&#xff1a;根据跟踪记录表字段的变化判断所属的透明表及字段

IDEA更换新版本启动没反应

目前安装了新的IDEA(压缩包方式)&#xff0c;由于老版本的IDEA还在用&#xff0c;所以并没有删除&#xff0c;但是安装完后发现点击idea64.exe后没有反应&#xff0c;于是网上找了好多方法最后解决了 下面是我的解决过程 新版本&#xff1a;IntelliJIdea2024.1 老版本: Intelli…

C#语法知识之条件分支语句

4、条件分支语句 目录 4、条件分支语句1、条件分支语句 if1、作用2、if语句3、if...else语句4、if...else if...else语句思考1 只需要0~9数字思考2 语句块 2、条件分支语句 switch1、作用2、基本语法3、default可省略4、自定义常量5、贯穿 1、条件分支语句 if 1、作用 //让顺…

【MySQL篇】mysqlpump和mysqldump参数区别总汇(第三篇,总共四篇)

☘️博主介绍☘️&#xff1a; ✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux&#xff0c;也在扩展大数据方向的知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章&am…

JavaEE初阶——多线程(七)——定时器

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 小比特 大梦想 此篇文章与大家分享多线程的第七篇文章——关于定时器 如果有不足的或者错误的请您指出! 目录 4.定时器4.1标准库提供的定时器4.2自己实现一个定时器4.2.1任务类4.2.2Timer类4.2.3 有一个线程来负…

羊大师解析,喝羊奶是热天喝还是凉天喝好?

羊大师解析&#xff0c;喝羊奶是热天喝还是凉天喝好&#xff1f; 在夏季&#xff0c;无论是热天还是相对凉爽的日子&#xff0c;适量喝羊奶都是有益的。羊奶的营养价值并不会因为天气温度的高低而有所改变&#xff0c;它始终是一个优质的蛋白质、矿物质和维生素来源。 然而&am…