通过Ansible调用带有“ kubectl补丁”的“无法在结构容器中找到api字段”

问题描述 投票:0回答:1

我正在尝试调试一个我不太了解的问题。它涉及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映像....

ansible kubernetes-helm kubectl
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.