Helm安装钩子资源chart包报错

本文探讨了在使用helm客户端安装自定义的Redis chart时遇到的'noobjectsvisited'错误,原因在于chart包中的所有资源都被设为钩子资源。解决办法是调整chart包,包含非钩子资源。涉及的技术包括Helm安装、chart包管理和资源钩子理解。

Helm安装钩子资源chart包报错

问题描述

通过helm go客户端执行redis chart包安装时报no objects visited错误

问题背景

此处安装报错的redis chart是拿官方的chart包改造的,改造点是将资源添加钩子注释,使redis chart下的所有资源都变成了钩子资源

问题分析

通过抛错信息结合断点分析

抛错位置如下,在perform方法开始就判断infos是否没有值,如果没有值直接返回ErrNoObjectsVisited错误信息,其内容便是no objects visited
在这里插入图片描述
perform方法在helm客户端创建资源方法client.Create中被调用
在这里插入图片描述
在我们调用helm安装chart包的install.Run方法调用上述client.Create方法时抛出了异常no objects visited
在这里插入图片描述

install.Run方法中传入的resources为空,导致perform方法校验没有通过抛出异常。而resource的来源为chart包解析之后的非钩子资源的manifest文件,由于redis chart包中所有资源都设置为钩子资源,导致抛错了
在这里插入图片描述
其实pre-install、post-install类型钩子就是在上述报错地方之前、之后执行

解决方案

调整chart 不要只有钩子资源

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值