Kubectl kustomize: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
Line 18: | Line 18: | ||
A <tt>kustomization.yaml</tt> example follows: | A <tt>kustomization.yaml</tt> example follows: | ||
<font color= | <font color=burlywood># add the specified labels to all resources</font> | ||
commonLabels: | commonLabels: | ||
app: hello | app: hello | ||
# add the specified annotations to all resources | <font color=burlywood># add the specified annotations to all resources</font> | ||
commonAnnotations: | commonAnnotations: | ||
... | ... | ||
# add the specified common prefix to all resource names | <font color=burlywood># add the specified common prefix to all resource names</font> | ||
namePrefix: | namePrefix: | ||
resources: | resources: | ||
Line 34: | Line 34: | ||
<syntaxhighlight lang='yaml'> | <syntaxhighlight lang='yaml'> | ||
images: | images: | ||
- name: something | - name: something | ||
newTag: ... | newTag: ... | ||
namespace: ... | namespace: ... | ||
patchesStrategicMerge: | patchesStrategicMerge: | ||
- file1.yaml | - file1.yaml |
Revision as of 17:31, 23 August 2019
External
- https://kubernetes.io/blog/2018/05/29/introducing-kustomize-template-free-configuration-customization-for-kubernetes/
- https://github.com/kubernetes-sigs/kustomize
Internal
Overview
The "kustomize" logic reads a series of source API resource manifests, instructions from a kustomization.yaml file and generates syntactically valid and complete API resource manifests at stdout. The generated content may contain multiple resource representations, separated by ---. The output can be further processed by other tools or streamed directly into kubectl for deployment to a cluster.
kubectl kustomize <dirname> > output.yaml
The directory specified as argument must contain kustomization.yaml.
A kustomization.yaml example follows:
# add the specified labels to all resources commonLabels: app: hello # add the specified annotations to all resources commonAnnotations: ... # add the specified common prefix to all resource names namePrefix: resources: - deployment-manifest.yaml - configmap-manifest.yaml - service-manifest.yaml
kustomization.yaml Example
images:
- name: something
newTag: ...
namespace: ...
patchesStrategicMerge:
- file1.yaml
TODO
It seems to add prefixes to names, update image tags, adds namespace metadata, "yaml-cleans" according to rules that have yet to be elucidated.