执行helm rollback命令后如何获取所回滚到的镜像版本号
问题解答
首先明确helm rollback的第一个入参是Helm Release名称,并非镜像名称。你可以通过两种方式拿到回滚后对应的镜像tag:
- 方案一:回滚成功后查询当前生效的配置
helm rollback执行成功后,再启动进程调用helm get values <你的Release名称> -o jsonpath='{.image.tag}'命令,该命令的标准输出直接就是当前Release使用的镜像tag(该路径为绝大多数Helm官方Chart的默认镜像tag配置路径,如果你自己封装的Chart路径不同,替换为对应路径即可)。
如果需要更完整的资源信息,也可以调用helm get manifest <你的Release名称>解析对应工作负载的镜像字段得到tag。 - 方案二:回滚前预先获取目标tag
如果需要在回滚操作执行前就确认要回滚到的镜像tag,可以先调用helm history <你的Release名称> -o json,查询到上一版本revision对应的配置中的镜像tag,确认后再执行rollback命令即可。
C#侧实现不需要额外引入第三方库,只要复用你现有创建Process调用helm命令的逻辑即可,注意保证进程运行身份有对应Kubernetes命名空间的操作权限。
内容的提问来源于stack exchange,提问作者CodeMonkey
相关产品推荐
相关产品推荐

