我一直在尝试修补由 kops 插件(Ebs 驱动程序)声明和应用的部署。
不幸的是,在尝试了各种修补策略之后,我似乎无法修补在我的文件夹结构中没有声明基础的资源。
请注意,我在顶部使用 FluxCD 进行协调,在推送补丁时看不到此资源的任何更改。
这是我想要更改的 Kops 自动生成和应用的部署的摘录:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
addon.kops.k8s.io/name: aws-ebs-csi-driver.addons.k8s.io
addon.kops.k8s.io/version: 1.0.0-kops.1
app.kubernetes.io/instance: aws-ebs-csi-driver
app.kubernetes.io/managed-by: kops
app.kubernetes.io/name: aws-ebs-csi-driver
app.kubernetes.io/version: v1.0.0
k8s-addon: aws-ebs-csi-driver.addons.k8s.io
**super: unpatched**
name: ebs-csi-controller
namespace: kube-system
我的自定义文件:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: flux-system
patches:
- target:
kind: Deployment
name: ebs-csi-controller
namespace: kube-system
path: patch-ebs.yaml
和实际的补丁-ebs.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: ebs-csi-controller
namespace: kube-system
labels:
super: patched
还尝试使用 Json 补丁 patch-ebs.json :
[
{"op": "replace", "path": "/metadata/labels/super", "value": "Patched"}
]
- 运行 kustomize 构建不会产生任何输出;
- 创建一个称为资源/基础的部署文件会生成一个可以应用的适当补丁。
这是 Kustomize 的限制,还是我错过了一些东西?
谢谢你的帮助 !