背景
系统切换到kubesphere cluster. 使用harbor构建了一个私有registry用于存放私有的images以及helm-charts. 本地helm chart版本是3.7, 当执行如下指令
helm package .
helm push test-0.1.0.tgz oci://myharbor.com/test
出现401问题,应该是某个地方没登录.
解决办法
经过分析,原因是docker cli登录harbor并不代表helm cli也处于登录状态
,
所以在进行helm push 之前首先执行如下指令进行registry登录:
helm registry login myharbor.com
然后进行chart package 上传
helm push test-0.1.0.tgz oci://myharbor.com/test
harbor最新的版本都满足oci规范,本地是可以通过上述方式上传打包好的chart.其次, helm chart 3,8之下版本使用此功能需要开启oci支持, 设置如下环境变量即可:
export HELM_EXPERIMENTAL_OCI=1