kustomize (四) generatorOptions详解

简介: kustomize (四) generatorOptions详解

文章目录

1. generatorOptions功能

Kustomize 提供了修改 ConfigMapGenerator 和 SecretGenerator 行为的选项,这些选项包括:

  • 不再将基于内容生成的哈希后缀添加到资源名称后
  • 为生成的资源添加 labels
  • 为生成的资源添加 annotations

2. generatorOptions实例

这个示例将展示如何运用这些选项,首先创建一个工作空间:

DEMO_HOME=$(mktemp -d)

创建 kustomization 并且为其添加一个 ConfigMapGenerator

cat > $DEMO_HOME/kustomization.yaml << EOF
configMapGenerator:
- name: my-configmap
  literals: 
  - foo=bar
  - baz=qux
EOF

添加如下 generatorOptions

cat >> $DEMO_HOME/kustomization.yaml << EOF
generatorOptions:
 disableNameSuffixHash: true  #关闭哈希后缀
 labels:
   kustomize.generated.resource: somevalue
 annotations:
   annotations.only.for.generated: othervalue
EOF

运行 kustomize build 并且确定生成的 ConfigMap

确定没有名称后缀

$ kustomize build $DEMO_HOME
apiVersion: v1
data:
  baz: qux
  foo: bar
kind: ConfigMap
metadata:
  annotations:
    annotations.only.for.generated: othervalue
  labels:
    kustomize.generated.resource: somevalue
  name: my-configmap  #没有哈希后缀

或者执行

$ test 1 == $(kustomize build $DEMO_HOME | grep "name: my-configmap$" | wc -l);echo $?
0

确定 label kustomize.generated.resource: somevalue

$ test 1 == $(kustomize build $DEMO_HOME | grep -A 1 "labels" | grep "kustomize.generated.resource" | wc -l); echo $?
0

确定 annotation annotations.only.for.generated: othervalue

$ test 1 == $(kustomize build $DEMO_HOME | grep -A 1 "annotations" | grep "annotations.only.for.generated" | wc -l); echo $?
0

扩展阅读:


kustomize (一) 管理yaml部署入门hello world

kustomize (二) ConfigMap的生成和滚动更新

kustomize (三) devops和开发配合管理配置数据behavior: merge、namePrefix、nameSuffix

kustomize (四) generatorOptions详解

kustomize (五) 使用vars将 k8s runtime数据注入容器

kustomize(六)命令行常用编排

kustomize (七)patches、patchesJson6902、patchesStrategicMerge详解

kustomize (八)生成secret

kustomize(九)使用终章



相关文章
|
8月前
|
Kubernetes 应用服务中间件 nginx
kubernetes集群命令行工具kubectl介绍&yaml文件介绍-20230208
kubernetes集群命令行工具kubectl介绍&yaml文件介绍-20230208
175 0
|
Kubernetes 大数据 容器
三、kubernetes 集群 YAML 文件详解
是一个可读性高,用来表大数据列的格式。Yaml的意思其实是:仍是一种标记语言,但是为了强调这种语言以数据为中心。而不是以标记语言为重点。
1050 0
三、kubernetes 集群 YAML 文件详解
|
XML JSON Kubernetes
|
Python
s.yaml
s.yaml
138 0
|
XML 存储 JSON
五分钟搞定 YAML
五分钟搞定 YAML
407 1
五分钟搞定 YAML
|
Kubernetes API 数据安全/隐私保护
|
XML 存储 JSON
YAML 快速指南
YAML 快速指南
221 0
|
存储 运维 Kubernetes
GitOps 自问自答
GitOps 自问自答
85 0
GitOps 自问自答
|
运维 Kubernetes 安全
GitOps 指南
GitOps 指南
588 0
GitOps 指南
|
存储 设计模式 运维
YAML 管理 Kubernetes 应用
YAML 管理 Kubernetes 应用
281 1