背景
由于最近在搞云原生的工作,在kubernetes中安装东西的时候采用了google的helm来管理kubernetes的配置资源和分发,那么就需要有一个统一的服务来管理helm镜像选了好久,最后决定用nexus3社区提供的helm支持,下面会写出本次的操作流程
准备工作
- nexus 3.13.0-01
- nexus-repository-helm 的安装包
本次主要操作,下载源码,通过maven构建为nexus3的插件包 复制插件到下面目录里,需要新建nexus-repository-helm/0.0.2
这两个目录
<nexus_dir>/system/org/sonatype/nexus/plugins/nexus-repository-helm/0.0.2/nexus-repository-helm-0.0.2.jar
在这个
<nexus_dir>/system/org/sonatype/nexus/assemblies/nexus-core-feature/3.13.0-01/nexus-core-feature-3.13.0-01-features.xml
配置文件中添加下面的配置
<feature version="0.0.2" prerequisite="false" dependency="false">nexus-repository-helm</feature>
再添加下面的配置
<feature name="nexus-repository-helm" description="org.sonatype.nexus.plugins:nexus-repository-helm" version="0.0.2">
<details>org.sonatype.nexus.plugins:nexus-repository-helm</details>
<bundle>mvn:org.sonatype.nexus.plugins/nexus-repository-helm/0.0.2</bundle>
</feature>
添加之后重启服务即可
重启之后可以在管理页面上新加helm的proxy类型代理仓库,这里拿gitlab来做测试
添加下面的地址
https://charts.gitlab.io/
选择存储
然后在本地测试
helm repo add gitlab http://10.100.100.11/repository/helm-gitlab-charts/
helm repo update
helm fetch gitlab/auto-deploy-app
出现问题
出现下面错误
$ helm fetch gitlab/auto-deploy-app
Error: Failed to fetch http://10.100.100.11/auto-deploy-app-0.2.4.tgz : 404 Not Found