Kustomize
Definition
Kustomize is a configuration management tool that allows users to customize Kubernetes YAML configurations without modifying the original files. It provides a way to manage Kubernetes resources by layering configurations and applying transformations, such as changing image tags or adding labels, through a declarative approach. Kustomize is integrated into kubectl, making it a native tool for Kubernetes configuration management.
Secure Settings Example
# kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
- service.yaml
images:
- name: myapp
newTag: v1.2.3
patchesStrategicMerge:
- |-
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deployment
spec:
template:
spec:
containers:
- name: myapp
securityContext:
runAsNonRoot: true
capabilities:
drop: ["ALL"]
Insecure Settings Example
# kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
- service.yaml
images:
- name: myapp
newTag: latest
patchesStrategicMerge:
- |-
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deployment
spec:
template:
spec:
containers:
- name: myapp
securityContext:
runAsNonRoot: false
capabilities:
add: ["SYS_ADMIN"]