我正在尝试调试一个我不太了解的问题。它涉及Ansible,Helm和Kubectl的集成,它们都在CI服务器上的容器中运行。
[我们有一个运行Ansible的Docker映像。我不知道这是否是自定义图片。它被称为“ ansible:2.2”,因此它似乎是指Ansible的2.2版。
我们最近进行了一些整合Helm的构建更改。而不是将k8s模板存储在git中,我们使用Helm生成模板,并使用Ansible填充一些其他属性。
在为使用新的构建系统而升级的两项服务中,我看到一条类似这样的Ansible错误消息:
失败:[](item = / home / aft / ansible / roles / _configrole / tasks /../ templates / k8s / deployment_bg.yaml)=> {“已更改:” true,“ cmd”:[“ / usr / bin / kubectl“,...],...,” stderr:“错误:应用补丁时出错:\ n \ nto:...
此后面是大块json,最后以:结尾]:>
无法在结构容器中为json字段\“ $ setElementOrder / env \”找到api字段
在整体大错误消息中,看似作为“ kubectl补丁”错误消息的一部分,我看到三个大块分别标记为“原始”,“已修改”和“当前”,它们都是k8s部署对象。
我无法弄清楚这三个“原始”,“修改”和“当前”块与此错误消息的文本之间的关系。
在我们看到此错误消息的第一个服务中,一个构建管理员说他尝试删除现有的Deployment对象,而不是让进程尝试对其进行修改,但这似乎可行,但是我认为这没有用理想。
我正在尝试调试一个我不太了解的问题。它涉及Ansible,Helm和Kubectl的集成,所有这些都在CI服务器上的容器中运行。我们有一个运行Ansible的Docker映像....