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之中可以发现有好多已经打包的原生应用可以一建部署。

  1. 演示安装应用
    访问kubeapps 主页并导航到应用目录。

  2. 譬如选择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 私有仓库相关推荐

  1. 如何使用repo管理本地私有仓库

    目录 1. 引导脚本 2. 搭建仓库 3. repo without gerrit 1. 引导脚本 repo安装前需要首先下载引导脚本, mkdir ~/bin PATH=~/bin:$PATH cu ...

  2. Docker进阶(制作镜像,共享卷,网络通信,私有仓库)

    目录 一.创建简单的镜像 1.自定义镜像原理 2.创建commit自定义镜像 3.示例 二.用Dockerfile创建镜像 1.Dockerfile的概述 2.Dockerfile语法 3.使用Doc ...

  3. rancher添加私有仓库_CocoaPods搭建私有库

    前言 iOS组件化开发很重要的一个技术点:CocoaPods私有库的搭建.而且最近答应一个网友要写一篇关于<CocoaPods搭建私有库>相关的文章,于是结合网上的一些blog和实际操作, ...

  4. go导入私有仓库中的包配置方法

    如果是 http 服务,可以通过使用-insecure选项获取:> go get -insecure mygitlab.com/user/repo 但每次要输入密码比较麻烦,不过go提供了htt ...

  5. 使用Nexus配置Maven私有仓库

    使用Nexus配置Maven私有仓库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装配置Nexus 1>.下载nexus 下载地址:https://www.sonat ...

  6. 如何发布Android Library到maven私有仓库

    前言 在我们的项目架构中,一定存在一些基础的模块,这些模块可以在多个app上通用,这种情况我们一般会将这些模块封装成Android Library统一维护,并上传到仓库方便其他小组使用.仓库可以选择如 ...

  7. docker镜像了解(建立私有仓库,基于已有镜像创建,Docker的数据管理) 基于Dockerfile创建,基于本地模板创建,端口映射,容器互联)

    文章目录 docker镜像 制作镜像的过程 基于已有镜像创建 基于本地模板创建 基于Dockerfile创建 Dockerfile操作指令 Docker的数据管理 数据卷 docker的网络通信 容器 ...

  8. 本地yum仓库以及网络版yum的私有仓库详细的安装配置

    本地仓的配置 第一步:开启CD/DVD 设备,并且把centos镜像链接添加至设备中 第二步:创建一个 文件夹用来挂在 光驱文件 mkdir /mnt/cdrom (通常约定挂载在/mnt目录下 ) ...

  9. github免费私有仓库使用

    github仓库前不久开放了个人私有仓库(原来要收费),个人使用无数量限制.对于想将代码托管在github上又不希望源码公开的人来说,是个福音.不过,有开源,生活更美好,开源是值得鼓励的,也是提升自己 ...

最新文章

  1. 第二课_课后习题解答
  2. java 计算两个日期之间的天数_Java日期时间API系列22-----Jdk8Month月份和DayOfWeek星期的计算。...
  3. 图数据库Neo4j简介
  4. IAR6.1的工程迁移到IAR6.5不能用的解决方法
  5. 浅谈iPhone和iPad开发中的图标设置
  6. HDU - 1054 Strategic Game(最小点覆盖-二分图最大匹配)
  7. 基于固定坐标与基于参考坐标系得到的机械手的微分运动不同
  8. 二进制 正数 负数 源码反码补码
  9. 前景检测算法(五)--GMM,GMM2,GMG
  10. 获得中文每个字的拼音首字母
  11. 【JAVAFX UI欣赏 之 滑条频谱】
  12. 亲密关系科学(05)男女大脑激素差异
  13. 001 A Comprehensive Survey of Privacy-preserving Federated Learning(便于寻找:FedAvg、垂直联邦学习的基本步骤)
  14. 【洋葱软件库-洋葱分享库】
  15. 利用sentinel hub Python开发包查询和下载Sentinel-2等卫星遥感数据
  16. 【c】C语言编程写的一个http下载程序
  17. Sql Server备份时提示:备份文件不可用,原先扇区为512,现在为4096
  18. python turtle库seth_Python学习笔记_3 turtle库使用
  19. TCP/IP协议四层模型知识
  20. r语言mysql包_R语言之RMySQL包

热门文章

  1. 区块链必知 -- 超级账本Hyperledger
  2. Found OpenCV Windows Pack but it has no binaries compatible with your configuration.
  3. 计算机二级密码不正确的是什么情况,方法不对努力白费:计算机二级备考正确方向是什么...
  4. 【致敬嵌入式攻城狮第2期活动预热征文】解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: ‘board_cfg.h‘ file not found
  5. python解析照片拍摄时间和地点信息
  6. 计算机准考证全是乱码怎么回事----准考证打印问题
  7. 长沙云图丨VR全景项目真是的风口吗?
  8. linux命令(3):pwd命令
  9. java GUI开发中关于卡片式布局详细步骤讲解
  10. 同城预约上门小程序开发功能介绍——互联网+上门服务