helmfile调试
说明
我们在调试helmfile编排的chart时,对于helm chart正常的情况下,我们编排的helmfile渲染模版的值出了问题,可能会存在以下的报错:
helmfile template
ERROR:
exit status 1
EXIT STATUS
1
STDERR:
Error: failed to parse /tmp/values761990442: error converting YAML to JSON: yaml: line 50: did not find expected key
这种情况下,我们可以指定以下的参数,来进行查看生成的临时文件的value值模版:
helmfile template --skip-cleanup
# 这样我们就可以查看生成的临时文件的值来进行调试
cat /tmp/values761990442
此外还存在一种情况,我们可能因为helmfile部署传入的变量值的格式导致的异常报错,例如:
helmfile -e dev -l app=test diff
Templating release=test, chart=test-repo/test
in ./helmfile.yaml: command "/usr/local/bin/helm" exited with non-zero status:
PATH:
/usr/local/bin/helm
ARGS:
0: helm (4 bytes)
1: template (8 bytes)
2: test-max (18 bytes)
3: test-repo/test-max (41 bytes)
4: --version (9 bytes)
5: -v2.4.0-st+041e3a87 (24 bytes)
6: --namespace (11 bytes)
7: test (26 bytes)
8: --values (8 bytes)
9: /tmp/helmfile2916714270/stesttsts-6cd688596 (86 bytes)
10: --set (5 bytes)
11: image.repository=registry.xxxx.com/test/test/testfe (83 bytes)
12: --set (5 bytes)
13: image.tag=v2.4.0-test-041e3a87 (33 bytes)
ERROR:
exit status 1
EXIT STATUS
1
这种情况下,我们可以加debug参数来查看具体详情,可以看出是传入的参数异常:
helmfile -e dev -l app=test diff --args "--debug"
COMBINED OUTPUT:
Executing helm version
Executing helm get manifest test --namespace test
Executing helm template test test-repo/test --version -v2.3.1-test+f86f99e7 --namespace
test --set image.repository=registry.xxx.com/test/test-fe --set image.
tag=v2.3.1-test-f86f99e7 --values /tmp/helmfile3502519488/test-values-747cff949b --valida
te --is-upgrade
Error: Failed to render chart: exit status 1: install.go:172: [debug] Original chart version: "-v2.3.1-test+f86f99e7"
Error: chart "test matching -v2.3.1-test+f86f99e7 not found in test-repo index. (try 'helm repo upda
te'): improper constraint: -v2.3.1-test+f86f99e7
helm.go:94: [debug] improper constraint: -v2.3.1-test+f86f99e7
chart "test" matching -v2.3.1-test+f86f99e7 not found in testrepo index. (try 'helm repo update')
helm.sh/helm/v3/pkg/downloader.(*ChartDownloader).ResolveChartVersion
/home/circleci/helm.sh/helm/pkg/downloader/chart_downloader.go:234
helm.sh/helm/v3/pkg/downloader.(*ChartDownloader).DownloadTo
/home/circleci/helm.sh/helm/pkg/downloader/chart_downloader.go:87
helm.sh/helm/v3/pkg/action.(*ChartPathOptions).LocateChart
/home/circleci/helm.sh/helm/pkg/action/install.go:669
main.runInstall
/home/circleci/helm.sh/helm/cmd/helm/install.go:184
main.newTemplateCmd.func2
/home/circleci/helm.sh/helm/cmd/helm/template.go:70
github.com/spf13/cobra.(*Command).execute
/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:842
github.com/spf13/cobra.(*Command).ExecuteC
/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:950
github.com/spf13/cobra.(*Command).Execute
/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:887
main.main
/home/circleci/helm.sh/helm/cmd/helm/helm.go:93
runtime.main
/usr/local/go/src/runtime/proc.go:203
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1373
Error: plugin "diff" exited with error
helm.go:94: [debug] plugin "diff" exited with error
Fail to run the plugin because of error(Process exited with an error: 1)
helmfile调试的更多相关文章
- C# Web应用调试开启外部访问
在用C#开发Web应用时有个痛点,就是本机用VS开启Web应用调试时外部机器无法访问此Web应用.这里将会介绍如何通过设置允许局域网和外网机器访问本机的Web应用. 目录 1. 设置内网访问 2. 设 ...
- NodeJs之调试
关于调试 当我们只专注于前端的时候,我们习惯性F12,这会给我们带来安全与舒心的感觉. 但是当我们使用NodeJs来开发后台的时候,我想噩梦来了. 但是也别泰国担心,NodeJs的调试是很不方便!这是 ...
- 微信公众号开发之VS远程调试
目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 前言 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流 ...
- 写出易调试的SQL(修订版)
h4 { background: #698B22 !important; color: #FFFFFF; font-family: "微软雅黑", "宋体", ...
- tomcat开发远程调试端口以及利用eclipse进行远程调试
一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里: SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...
- Hawk 4.7 单步调试
单步调试的意义 已经编写的工作流,可能会因为某些外界环境的变化而出错,此时需要排除错误,我们可以使用单步调试. 单步调试的本质,相当于只使用前n个模块,这样就能看到每个步骤下,流的改变. 例子 还是上 ...
- Visual Studio 2012远程调试中遇到的问题
有的时候开发环境没问题的代码在生产环境中会某些开发环境无法重现的问题,或者需要对生产环境代码进行远程调试该怎么办? Vs已经提供给开发者远程调试的工具 下面简单讲讲该怎么用,前期准备:1.本地登录账户 ...
- iOS逆向工程之Hopper+LLDB调试第三方App
LLDB是Low Level Debugger的简称,在iOS开发的调试中LLDB是经常使用的,LLDB是Xcode内置的动态调试工具.使用LLDB可以动态的调试你的应用程序,如果你不做其他的额外处理 ...
- 写出易调试的SQL
h4 { background: #698B22 !important; color: #FFFFFF; font-family: "微软雅黑", "宋体", ...
- linux应用调试技术之GDB和GDBServer
1.调试原理 GDB调试是应用程序在开发板上运行,然后在PC机上对开发板上得应用程序进行调试,PC机运行GDB,开发板上运行GDBServer.在应用程序调试的时候,pc机上的gdb向开发板上的GDB ...
随机推荐
- 解决PyCharm提示Error: Please select a valid Python interpreter
前言 Pycharm运行Python3.7.8的程序时发现源程序运行报错(非语法错误) Error:please select a valid Python interpreter 解决 第一步:打开 ...
- ubuntu网络连接失败
首先要保证pc上可以连接上网络,然后进行下面的操作: 1.首先选择VMware的编辑选项 2.选择虚拟网络编辑器 3.还原默认设置,等待几分钟,确定就可以解决了
- Bringing machine 'default' up with 'virtualbox' provider... Your VM has become "inaccessible." Unfortunately, this is a critical error with VirtualBox that Vagrant can not cleanly recover from.
启动虚拟机报错 vagrant up Bringing machine 'default' up with 'virtualbox' provider...Your VM has become &qu ...
- 几个技巧,教你去除文章的 AI 味!
最近有不少朋友在利用 AI 写毕业设计论文,几秒钟一篇文章就刷出来的,爽的飞起. 结果万万没想到,人家论文查重服务也升级了,是不是用 AI 写的论文大概率都能被查出来... 这可如何是好啊?救救我救救 ...
- c-primer-plus深入解读系列-从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
前言 小提示:阅读本篇内容,至少需要了解double和float的二进制表示规则. 书中的代码示例如下: #include <stdio.h> int main(void) { float ...
- 【Docker】DockerFile解析
DockerFile解析 中文官网 英文官网 是什么 Dockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本. 构建三步骤 注意:Dockerfile可以构建出镜像, ...
- 【Java】(机考常用)类集
类集框架(集合框架)是一个用来代表和操纵集合的统一架构.所有的类集框架都包含如下内容: 接口:是代表类集的抽象数据类型.之所以定义多个接口,是为了以不同的方式操作集合对象. 例如:Collection ...
- 🎀CSDN-自定义公众号卡片
简介 在CSDN新增自定义模块,创建自己的公众号卡片用于展示. 效果展示 公众号卡片 动态效果 鼠标移入前为公众号指引页 鼠标移入后显示公众号二维码 切换动画为动态反转 首页效果 前提 CSDN需开通 ...
- thinkphphp 计算分页 和分页总数 和sql计算分页 php
利用page计算分页 $p=input('p')?input('p'):1; $limit=6; $res=db('points_log')->where(['p_uid'=>$uid,' ...
- Nacos简介—1.Nacos使用简介
大纲 1.Nacos的在服务注册中心 + 配置中心中的应用 2.Nacos 2.x最新版本下载与目录结构 3.Nacos 2.x的数据库存储与日志存储 4.Nacos 2.x服务端的startup.s ...