helm3 chart repo 私有仓库
https://www.sohu.com/a/304655993_120019946
https://www.jianshu.com/p/18478cf7a37f
1.ChartMuseum
ChartMuseum对于经常用到Helm Charts存储库的开发人员来说,非常实用且方便。作为一个存储库,它被设计为能与各种流行的Kubernetes环境和服务进行协同工作。其中包括Microsoft Azure的Blob存储和Oracle的云架构对象存储。
1.1
简介
Helm chart对仓库的要求并不高,需要你对外提供yaml文件和tar文件的web服务即可。但是实际的操作中我们还需要考虑更多的操作。
Chartmuseum除了给我们提供一个类似于web服务器的功能之外,还提供了其他有用的功能,便于日常我们私有仓库的管理。
- 根据chart文件自动生成index.yaml(无须使用helm repo index手动生成)
- helm push的插件,可以在helm命令之上实现将chart文件推送到chartmuseum上
- 相应的tls配置,Basic认证,JWT认证(Bearer token认证)
- 提供了Restful的api(可以使用curl命令操作)和可以使用的cli命令行工具
- 提供了各种后端存储的支持(Amazon s3, Google Cloud Storage, 阿里、百度、腾讯,开源对象存储等)
- 提供了Prometheus的集成,对外提供自己的监控信息。
- 没有用户的概念,但是基于目录实现了一定程度上的多租户的需求
安装
官方提供了相应的helmchart,可以在kuberentes上直接安装。也提供了docker的镜像方式安装。本文介绍docker的方式进行安装部署。
最新的稳定版本是v0.12.0,下面采用local 存储的方式安装。
docker run --rm -it -p 9999:8080 --privileged=true -e DEBUG=1 -e STORAGE=local -e STORAGE_LOCAL_ROOTDIR=/charts -v /services/chartmuseum/data:/charts -d harbor.superred.com/kubernetes/chartmuseum/chartmuseum
# 我们创建并打包一个新的chart
helm create test Creating test
helm package test
mv test-0.1.0.tgz ~/charts/
helm repo update
helm search repo test
helm push 插件
安装helm push 插件
helm plugin install https://github.com/chartmuseum/helm-push.git
helm push test-0.1.0.tgz chartrepo
helm repo upgrade
2.kubeapps
Kubeapps是Bitnami公司的一个项目,其目的是为Kubernetes的使用者们提供已经打包好的应用仪表盘,它拥有网页界面可以更方便的部署和管理k8s 原生应用。
kubeapps功能说明:
应用仪表盘-包含绝大多数的云原生应用
管理应用-部署,删除,升级以及修改配置
2.1 部署:
helm3添加Bitnami Repository
使用Helm chart来安装最新版本的Kubeapps:
helm repo add bitnami https://charts.bitnami.com/bitnami
2.2 安装Kubeapps
如果你使用 Helm 3, 你需要设置另外的参数,详细命令如下:
kubectl create namespace kubeapps
helm install --name kubeapps --namespace kubeapps bitnami/kubeapps(该命令仅支持helm2)
helm install kubeapps --namespace kubeapps bitnami/kubeapps --set useHelm3=true
2.3 创建 Kubernetes API token
访问kubeapps的web界面需要Kubernetes API token 来验证Kubernetes API server.
kubectl create serviceaccount kubeapps-operator
kubectl create clusterrolebinding kubeapps-operator --clusterrole=cluster-admin --serviceaccount=default:kubeapps-operator
注意:生产环境不建议创建cluster-admin 用户. 请参考Access Control 文档来给生产环境配置合适的用户.
2.4 获取Token
Linux/macOS 系统可以使用如下命令来获取Token:
kubectl get secret $(kubectl get serviceaccount kubeapps-operator -o jsonpath='{range .secrets[*]}{.name}{"\n"}{end}' | grep kubeapps-operator-token) -o jsonpath='{.data.token}' -o go-template='{{.data.token | base64decode}}' && echo
2.5 修改访问模式并访问kubeapps
编辑kubeapps服务svc 将连接类型改为NodePort
kubectl edit svc kubeapps -n kubeapps
看下服务所用端口;
然后打开浏览器输入node的ip加上32024端口则可以访问kubeapps;输入获取的Token就可以直接登录进去。
登录kubeapps之后在catalog之中可以发现有好多已经打包的原生应用可以一建部署。
演示安装应用
访问kubeapps 主页并导航到应用目录。譬如选择grafana,有bitnami以及官方stable的包;
这里我选择bitnami的应用包,进去之后点击Deploy
确认配置之后直接点击Submit
应用就部署完了。
使用kubectl edit svc crazy-jail-grafana -n kubeapps 来修改外网访问类型为NodePort
修改完成后,使用命令kubectl get svc -n kubeapps 查看grafana 服务的外部访问端口。
浏览器访问node的ip加30647端口。
Grafana就部署好了。
我后面又测试了prometheus,wordpress等应用。发现除了pv需要手动创建,其他配置都是自动化部署。相对于传统部署方式,省下了很多配置应用的时间;
3 harbor helm 仓库使用
https://blog.csdn.net/yrx420909/article/details/106127768
https://www.cnblogs.com/lori/p/12654585.html
https://www.bookstack.cn/read/kubernetes-handbook-201910/practice-create-private-charts-repo.md
https://www.jianshu.com/p/18478cf7a37f
https://developer.aliyun.com/hub/?tab=experimental#/?_k=y9jc5v
http://www.manongjc.com/detail/14-orgkxohnsxebpbs.html
# 安装 ./install.sh --with-clair --with-chartmuseum
# 安装push 插件 helm init helm plugin install https://github.com/chartmuseum/helm-push # 查看安装的插件 helm plugin list
helm repo add --ca-file /etc/pki/helm/koji_ca_cert.crt harborcharts https://harbor.superred.com/chartrepo/charts
helm repo add chartmuseum http://10.10.3.174:9999 --username admin --password 123456aA
helm repo add chartmuseum http://10.10.3.104:9999
helm push --ca-file /etc/pki/helm/koji_ca_cert.crt --username admin --password Harbor12345 mysql-1.6.7.tgz harborcharts
helm push --ca-file /etc/pki/helm/koji_ca_cert.crt --cert-file /etc/pki/helm/harbor.superred.com.crt --key-file /etc/pki/helm/harbor.superred.com.key --username admin --password Harbor12345 test1-0.1.0.tgz harborcharts
全局的
mv harbor.superred.com.* koji_ca_cert.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust
helm repo add https://harbor.superred.com/chartrepo/charts
helm3 chart repo 私有仓库相关推荐
- 如何使用repo管理本地私有仓库
目录 1. 引导脚本 2. 搭建仓库 3. repo without gerrit 1. 引导脚本 repo安装前需要首先下载引导脚本, mkdir ~/bin PATH=~/bin:$PATH cu ...
- Docker进阶(制作镜像,共享卷,网络通信,私有仓库)
目录 一.创建简单的镜像 1.自定义镜像原理 2.创建commit自定义镜像 3.示例 二.用Dockerfile创建镜像 1.Dockerfile的概述 2.Dockerfile语法 3.使用Doc ...
- rancher添加私有仓库_CocoaPods搭建私有库
前言 iOS组件化开发很重要的一个技术点:CocoaPods私有库的搭建.而且最近答应一个网友要写一篇关于<CocoaPods搭建私有库>相关的文章,于是结合网上的一些blog和实际操作, ...
- go导入私有仓库中的包配置方法
如果是 http 服务,可以通过使用-insecure选项获取:> go get -insecure mygitlab.com/user/repo 但每次要输入密码比较麻烦,不过go提供了htt ...
- 使用Nexus配置Maven私有仓库
使用Nexus配置Maven私有仓库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装配置Nexus 1>.下载nexus 下载地址:https://www.sonat ...
- 如何发布Android Library到maven私有仓库
前言 在我们的项目架构中,一定存在一些基础的模块,这些模块可以在多个app上通用,这种情况我们一般会将这些模块封装成Android Library统一维护,并上传到仓库方便其他小组使用.仓库可以选择如 ...
- docker镜像了解(建立私有仓库,基于已有镜像创建,Docker的数据管理) 基于Dockerfile创建,基于本地模板创建,端口映射,容器互联)
文章目录 docker镜像 制作镜像的过程 基于已有镜像创建 基于本地模板创建 基于Dockerfile创建 Dockerfile操作指令 Docker的数据管理 数据卷 docker的网络通信 容器 ...
- 本地yum仓库以及网络版yum的私有仓库详细的安装配置
本地仓的配置 第一步:开启CD/DVD 设备,并且把centos镜像链接添加至设备中 第二步:创建一个 文件夹用来挂在 光驱文件 mkdir /mnt/cdrom (通常约定挂载在/mnt目录下 ) ...
- github免费私有仓库使用
github仓库前不久开放了个人私有仓库(原来要收费),个人使用无数量限制.对于想将代码托管在github上又不希望源码公开的人来说,是个福音.不过,有开源,生活更美好,开源是值得鼓励的,也是提升自己 ...
最新文章
- 第二课_课后习题解答
- java 计算两个日期之间的天数_Java日期时间API系列22-----Jdk8Month月份和DayOfWeek星期的计算。...
- 图数据库Neo4j简介
- IAR6.1的工程迁移到IAR6.5不能用的解决方法
- 浅谈iPhone和iPad开发中的图标设置
- HDU - 1054 Strategic Game(最小点覆盖-二分图最大匹配)
- 基于固定坐标与基于参考坐标系得到的机械手的微分运动不同
- 二进制 正数 负数 源码反码补码
- 前景检测算法(五)--GMM,GMM2,GMG
- 获得中文每个字的拼音首字母
- 【JAVAFX UI欣赏 之 滑条频谱】
- 亲密关系科学(05)男女大脑激素差异
- 001 A Comprehensive Survey of Privacy-preserving Federated Learning(便于寻找:FedAvg、垂直联邦学习的基本步骤)
- 【洋葱软件库-洋葱分享库】
- 利用sentinel hub Python开发包查询和下载Sentinel-2等卫星遥感数据
- 【c】C语言编程写的一个http下载程序
- Sql Server备份时提示:备份文件不可用,原先扇区为512,现在为4096
- python turtle库seth_Python学习笔记_3 turtle库使用
- TCP/IP协议四层模型知识
- r语言mysql包_R语言之RMySQL包
热门文章
- 区块链必知 -- 超级账本Hyperledger
- Found OpenCV Windows Pack but it has no binaries compatible with your configuration.
- 计算机二级密码不正确的是什么情况,方法不对努力白费:计算机二级备考正确方向是什么...
- 【致敬嵌入式攻城狮第2期活动预热征文】解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: ‘board_cfg.h‘ file not found
- python解析照片拍摄时间和地点信息
- 计算机准考证全是乱码怎么回事----准考证打印问题
- 长沙云图丨VR全景项目真是的风口吗?
- linux命令(3):pwd命令
- java GUI开发中关于卡片式布局详细步骤讲解
- 同城预约上门小程序开发功能介绍——互联网+上门服务