kubernetes 用于在Azure上生成Kustomize文件的Azure管道任务失败

qacovj5a  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(111)

我开发了一个Azure Pipeline任务来生成一个Kustomize文件,它在我的笔记本电脑上可以正常工作,但在Azure上却不能。它以前可以工作,但Azure中发生了一些变化,导致它停止工作。有没有人可以提供有关如何解决此问题的指导,或者确定Azure中可能导致其失败的更改?谢谢你的好意

- task: KubernetesManifest@0
  displayName: Generate kustomize
  name:  Generate kustomize
  inputs:
      action: 'bake'
      renderType: 'kustomize'
      kustomizationPath: '$(Build.SourcesDirectory)'

##[error]error: invalid Kustomization: json: cannot unmarshal string into Go struct field Kustomization.patches of type types.Patch

字符串
只要存在修补程序,Azure就会始终引发错误。通过从Kustomize文件中删除补丁,我能够解决这个问题。我不知道Kustomization有什么问题。补丁

# kustomize patched file
resources:
  - ../base
namespace: prod
patches:
  - patch.yaml

bfrts1fy

bfrts1fy1#

由于不兼容的yaml格式(旧),我也遇到了同样的错误,请检查您是否在笔记本电脑和Azure中使用相同的kustomize版本。
对我有效的几个解决方案:
patches 中的文件前添加 path

# kustomize patched file 
resources:
  - ../base
namespace: prod
patches:
  - path: patch.yaml

字符串
patches 替换为 patchesStrategicMerge(已弃用,但似乎可以工作)

# kustomize patched file 
resources:
  - ../base
namespace: prod
patchesStrategicMerge:
  - patch.yaml

相关问题