K8s-kustomize
K8s-kustomize
背景
K8s为 减少维护很多YAML文件,选择定义K8s资源,从1.14开始,kustomize默认提供
kustomize提供以下管理各种配置文件:
- 从其他文件来源生成K8s资源对象
- 统一为所有资源设置命名空间、Label、注解或者特殊格式的名称
- 组合不同的资源作为一个应用或者一个管理单元进行整体注解
概述
kustomize核心配置是kustomizeation.yaml,这个文件类似于一个一个模版文件,里面定义了相应的操作指令,主要操作指令以及作用如下:
namespace:为所有资源都添加命名空间
namePrefix:要添加到所有资源名称之前的前缀
nameSuffix:要添加到所有资源名称之后的后缀
commonLabels:要添加到所有资源和选择器中的Label
commonAnnoations:要添加到所有资源的注解
resources:列表中的每个条目都会生成资源配置
configMapGenerator:针对列表中的每个条目都会生成一个ConfigMap
secrertGenerator:列表中的每个条目都会生成一个Secret
generatorOptions:所有ConfigMap和Secret生成器的选项
bases:列表中每个条目都会被解析为一个包含kubstomization.yaml文件的目录
vars:每个条目都会从资源的某个字段获取到文本
patchesJson6902:列表中的每个条目都会被解析成一个K8s对象和一个JSON不定
images:每个条目都会用于修改镜像的名称、tag、摘要等信息
configurations:列表中的每个条目都会被解析成一个包含kustomize转换器的配置文件
crds:列表中的每个条目都会被解析成OpenAPI格式的CRD对象
Example
…
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Joohwan!