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

  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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值