删除
先说几个一下patch的区别
patchesStrategicMerge:将所有的文件解析为Strategic Merge Patch patchesJSON6902:将所有的文件解析为Json Path patches:它会自动检测是patchesStrategicMerge还是patchesJSON6902 在使用这三个patch的时候,按道理来说是应该区别对待 ,但是第三个可以自动检测,我在生产环境中都是使用第三个patches,让它自动解析格式进行,不知道是否有坑,目前没有遇到过
创建一个新的目录,yehe/overlays/delete 使用patches语法,可以删除指定内容
删除一个对象
我们使用上一章创建的service对象,去测试删除语法,首先集成overlays/add 的Kustomization,在overlays/delete 中创建kustomization.yaml
bases:
- ../add
patches:
- remove-svc.yaml
remoce-svc.yaml
kind: Service
apiVersion: v1
metadata:
name: nginx
$patch: delete
与模型 kustomize build overlays/delete
,可以看到,Service已经被删除
删除一个字段
我们用类似的方法,删除之前的env
创建一个remove-filed.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: flaskapp
spec:
replicas: 1
template:
metadata:
labels:
app: flaskapp
version: v1
spec:
containers:
- name: flaskapp
image: dustise/flaskapp
env:
- name: CONFIG
$patch: delete
再把补丁加入kustomization.yaml
bases:
- ../add
patchesStrategicMerge:
- remove-svc.yaml
- remove-field.yaml
再次使用kustomize build overlays/delete
,可以看到新的环境变量已经被删除
文章转载自耶喝运维,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。