配置定制（Bespoke configuration） | Kustomize

# 配置定制（Bespoke configuration）

自定义配置的工作流。

在这个工作流方式中，所有的配置文件（ YAML 资源）都为用户所有，存储在用户的私有 repo 中。其他用户是无法使用的。

#### 1) 创建一个目录用于版本控制

我们希望将一个名为 ldap 的 Kubernetes 集群应用的配置保存在自己的 repo 中。 这里使用 git 进行版本控制。

>     git init ~/ldap

#### 2) 创建一个 base

>     mkdir -p ~/ldap/base

在这个目录中创建并提交 kustomization 文件及一组资源 resources 配置。

#### 3) 创建 overlays

>     mkdir -p ~/ldap/overlays/staging
>     mkdir -p ~/ldap/overlays/production

每个目录都包含需要一个 kustomization 文件以及一或多个 patches。

在 staging 目录可能会有一个用于在 configmap 中打开一个实验标记的补丁。

在 production 目录可能会有一个在 deployment 中增加副本数的补丁。

#### 4) 生成 variants

运行 kustomize，将生成的配置用于 kubernetes 应用发布。

>     kustomize build ~/ldap/overlays/staging | kubectl apply -f -
>     kustomize build ~/ldap/overlays/production | kubectl apply -f -

也可以在 kubectl-v1.14.0 版，使用 `kubectl` 命令发布你的 variants 。

>     kubectl apply -k ~/ldap/overlays/staging
>     kubectl apply -k ~/ldap/overlays/production

最后修改 2020年07月16日: Docs: Auto-fix markdownlint issues (f9ee578a)