Helm报错:未找到对应Chart版本,请求排查SemV2版本适配问题
Helm部署报错:找不到指定Chart版本(怀疑SemVer规范问题)
执行Helm部署操作时反复遇到报错,明明目标Chart确实存在,但系统提示找不到对应版本,怀疑是SemVer 2.0版本规范导致的问题。
错误信息:
The helm deployment failed because: Error: chart "ap983546-test-api" matching 2.0.0-featureesp2606-8 not found in artifactory index. (try 'helm repo update'): no chart version found for ap983546-test-api-2.0.0-featureesp2606-8
执行的命令:
helm upgrade ap983546-test-api artifactory/ap983546-test-api --set liveSlot=blue,blue.enabled=false,blueImage.tag=2.0.0-featureesp2606-6,greenImage.tag=2.0.0-featureesp2606-8 --wait -f charts/ap983546-test-api/values_rks.yaml --version 2.0.0-featureesp2606-8 --install
排查与解决建议
强制刷新仓库索引
执行helm repo update artifactory,确保本地索引与远程Artifactory仓库同步,避免因索引过期导致版本匹配失败。验证仓库中实际存在的版本
用helm search repo artifactory/ap983546-test-api --versions列出该Chart的所有可用版本,确认2.0.0-featureesp2606-8是否真的在列表中。如果不在,说明Chart未正确上传至仓库,或上传后索引未更新。检查版本号是否符合SemVer 2.0规范
Helm严格遵循SemVer 2.0规范,版本号格式应为主版本.次版本.修订版-预发布版本,预发布部分仅允许包含字母、数字、连字符(-)、点(.)和下划线(_),且不能以连字符或点开头。你的版本号2.0.0-featureesp2606-8格式上符合规范,但需注意:- 版本号大小写敏感,确认仓库中的版本号与你指定的完全一致(比如是否存在大写字母差异)
- 预发布部分的连字符数量不影响,但要确保无多余特殊符号
检查Artifactory中的Chart包与索引
- 登录Artifactory,确认
ap983546-test-api-2.0.0-featureesp2606-8.tgz包存在于对应仓库路径下 - 查看仓库的
index.yaml文件,确认其中包含该版本的条目,格式类似:ap983546-test-api: - version: 2.0.0-featureesp2606-8 urls: - https://your-artifactory-url/repo/ap983546-test-api-2.0.0-featureesp2606-8.tgz # 其他元数据
如果索引中无该条目,手动触发Artifactory重新生成仓库索引。
- 登录Artifactory,确认
尝试直接用Chart包URL部署
若上述步骤均无问题,绕过索引验证,直接使用Chart包的URL部署:helm upgrade ap983546-test-api https://your-artifactory-url/repo/ap983546-test-api-2.0.0-featureesp2606-8.tgz --set liveSlot=blue,blue.enabled=false,blueImage.tag=2.0.0-featureesp2606-6,greenImage.tag=2.0.0-featureesp2606-8 --wait -f charts/ap983546-test-api/values_rks.yaml --install若此方式成功,说明问题出在仓库索引上。
内容的提问来源于stack exchange,提问作者Nihar Karra
相关产品推荐
相关产品推荐

