Customizing Kustomize with Client-Side Custom Resources
Talkat KubeCon + CloudNativeCon North America 2021 · on Wednesday, 2021-10-13· at 11:00· Room 502 AB + Online·
summary
Kustomize extends via client‑side KRM functions packaged as containers, not templates, and recommends containerized KRM functions over legacy plugins or Starlark. Examples include a 26‑line Go annotator (26 lines of Go) and a Spring Boot generator that emits Deployment, Service, Ingress, NetworkPolicy from a CR-style config using the kyaml framework and a template processor. Extensions support validate and default hooks, apiVersioned dispatch, unit testing, and deterministic, declarative outputs for CI.
AI-written summary · about
chapters (31)
- 0:00Intro
- 1:15Overview
- 5:48Transformers
- 6:15Customization Units
- 9:26Extensions
- 9:49Why Build an Extension
- 11:04ClientSide vs ServerSide
- 11:28Benefits
- 11:42Enduser control
- 13:07Use Cases
- 14:19Dependencies
- 14:49Extension Formats
- 16:08Recap
- 16:38Transformer Example
- 17:36Overview of Customization
- 19:09Resource List
- 19:59InputOutput Format
- 21:14Signature
- 22:42InputOutput Spec
- 23:27Type Spec
- 24:10Type Filter
- 24:41Template Processor
- 25:31Validate
- 25:54Default
- 26:16Version
- 26:33Tools
- 26:55Best Practices
- 27:11Keep Extensions Declarative
- 28:03Testing
- 28:40CD Pipeline
- 34:56Custom Variants
related talks
17mOwn your YAML: extending Kustomize via Plugins
34mKustomize: Template-Free Configuration Customization for Kubernetes
07mLightning Talk: Using Kustomize KRM Functions to Enhance Argo CD Application Deployments
30mLet's Kustomize Our K8S Deployments with Style!
07mKustomize: Manage K8S manifests natively
32mFrom User To Contributor: A Quick Guide To Kubectl & Kustomize
16mKustomize Your Operator
16mLightning Talk: Kustomize Your Operator
