【kustomize】特定の環境だけbaseのリソースを削除する | amateur engineer’s blog
baseのapiVersionと一部環境だけ異なるという場合に必要となる
base/hpa.yaml
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
overlays/stg/hpa.yaml
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
これでkustomize build すると、v1とv2beta1両方が作られてしまう。
---
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
---
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
これを回避するため、 patch: $delete
でファイルを削除する
delete-hpa-v1.yaml
$patch: delete
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
base/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
- hpa.yaml
overlays/stg/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: app-stg
resources:
- ./../../base
patchesStrategicMerge:
- delete-hpa-v1.yaml