helm库学习总结 使用minio nginx做为私库

helm库学习总结

大纲

  • helm库学习总结
  • 使用nginx做为私库
  • 使用minio作为私库

helm库学习总结

Helm支持通过一个名为chart存储库的系统来分发软件包。chart存储库是简单的HTTP(S)Web服务,用户可以从中查找和下载可用的chart

库结构

库需要一个存储索引
所有chart存储库都包含一个名为index.yaml的索引文件,其中列出了所有可用的chart及其各自的下载位置。

一个空库的index.yaml文件内容如下

apiVersion: v1
entries: {}
generated: "2023-02-06T10:04:16.766472397+08:00"

其中entries 就是所有的charts的内容描述

创建一个chart库流程

  • 1 创建一个空目录 作为仓库
  • 2 把归档好的chart.tgz 放入这个目录中
  • 3 执行 helm repo index 文件夹生成索引
  • 4 把这个库发布到web服务器上

主要涉及的关键命令

#创建或更新charts库index.yaml
helm repo index 【charts归档文件夹】
例如
helm repo index  charts/

创建本地库的流程如下

在这里插入图片描述
在这里插入图片描述

此时本地库以完成创建,后续只需添加chart到本地charts文件夹,并执行helm repo index 更新index.yaml

使用nginx做为私库

原理就是将 本地的charts作为一个静态资源发布到nginx上

step1 本地环境配置一个域名用于访问nginx helm私库

在 hosts文件中加入 
192.168.0.206 repo.helm.com

这样访问repo.helm.com 就可以到达nginx服务器了

step2 配置一个账号密码 稍微增加点私库的安全性

安装htpasswd命令生成 http Basic Authorization格式的账号密码

  • ubuntu apt install apache2-utils
  • centos yum install httpd-tools

使用使用 htpasswd -bdc htpasswd 【用户名】 【密码】

例如:
htpasswd -bdc  htpasswd jimliu 123456
这样就会在当前文件夹下创建htpasswd 文件 文件内容如下
jimliu:XOzIb/4HAwRos

在这里插入图片描述

step3 配置nginx

配置文件如下

server {
    listen 80;
    server_name repo.helm.com;

    auth_basic "helm name passwd"; #开启http Basic Authorization 认证
    auth_basic_user_file /medcrab/ops/openrestry/nginx/nginx/conf/htpasswd; #账号密码位置

    location /charts {
      alias /web/charts;  #把本地生成的charts库 上传到服务器
      autoindex   on;
    }
}

在这里插入图片描述在这里插入图片描述

浏览器看到的效果

在这里插入图片描述

step4 配置 helm

添加私库 注意输入账号 密码
helm repo add m-ngx http://repo.helm.com/charts --username jimliu --password 123456

在这里插入图片描述

nginx 实现私库完成

使用minio作为私库

minio官网地址 https://min.io/

详细安装说明
https://min.io/download#/linux

下载最新版minio
https://dl.minio.io/server/minio/release/linux-amd64/

在这里插入图片描述

所有可以下载的资源 https://dl.minio.io/

minio私库安装使用总结

step1 下载minio

创建一个文件夹用于保存 后续的配置和数据 并下载最新的minio

在这里插入图片描述

step2 修改minio权限

修改minio权限为可执行,移动到/usr/local/bin 可以省去配置环境变量

chmod 755 minio
mv minio /usr/local/bin
minio --version

在这里插入图片描述

此时以安装成功

step3 添加环境变量并启动

此时已经可以使用minio了

minio server start --address :8551

在这里插入图片描述

建议还是把账号密码和挂载都配置到环境变量中

创建data文件夹 mkdir data

vi /etc/profile   
加入
export MINIO_ROOT_USER=root
export MINIO_ROOT_PASSWORD=jimliu123
# 指定minio数据存储位置
export MINIO_VOLUMES=/medcrab/minio/data
source /etc/profile

在这里插入图片描述

后台启动minio

nohup minio server start --address :8551 &

在这里插入图片描述

浏览器输入 http://192.168.0.211:8551

在这里插入图片描述

可以把minio 制做为systemd service

step4 创建仓库

在这里插入图片描述
在这里插入图片描述

点击仓库详细 编辑仓库类型为 public

在这里插入图片描述

这样仓库就可以使用了

step5 将本地库上传到minio

将第一章中创建好的chart库内容上传到minio

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

step6 配置helm私库

helm repo add my-minio http://192.168.0.211:8551/mycharts
helm repo list

在这里插入图片描述

minio私库完成安装使用

step7 结合minio client

安装配置minio client

如果每次index.yaml文件变化了都去 minio web端手动上传的话不方便,并且无法集成到 持续集成环境

使用minio client 可以比较方便的实现文件的上传和更新,并融入到持续集成脚本中

下载 minio客户端 mc

下载地址: https://dl.minio.io/client/mc/release/linux-amd64/
下载客户端 :  wget https://dl.minio.io/client/mc/release/linux-amd64/mc

在这里插入图片描述

修改mc权限为可执行,移动到/usr/local/bin 可以省去配置环境变量

chmod 755 mc
mv mc /usr/local/bin
mc --help

添加mc host

mc config host ls
# 添加host 注意 账号密码是登录minio的账号密码
mc config host add my-minio http://192.168.0.211:8551  root  jimliu123

在这里插入图片描述

更多客户端使用例子
https://min.io/docs/minio/linux/reference/minio-mc.html
https://min.io/docs/minio/linux/reference/minio-mc-admin.html

使用minio client

思路是把手动上传的操作,改为脚本自动上传,以重新创建一个新的chart为例子

在这里插入图片描述

目前 minio 上还只有2个chart

在这里插入图片描述

模拟本地charts库添加了新的chart

在这里插入图片描述

mc ls my-minio
# 把my-user-service-1.33.1.tgz index.yaml上传到minio
mc cp my-user-service-1.33.1.tgz my-minio/mycharts
mc cp index.yaml my-minio/mycharts

在这里插入图片描述

再次使用查询并安装

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寂寞的4角钱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值