通用配置(Off-the-shelf configuration)

使用通用配置的工作流。

在这个工作流程中,所有文件都由用户拥有,并维护在他们控制的存储库中,但它们是基于一个现成的(off-the-shelf)配置,定期查询更新。

off-the-shelf config workflow image

1) 寻找并且 fork 一个 OTS 配置

2) 将其克隆为你自己的 base

这个 base 目录维护在上游为 OTS 配置的 repo ,在这个示例中使用 ladp 的 repo 。

  1. mkdir ~/ldap
  2. git clone https://github.com/$USER/ldap ~/ldap/base
  3. cd ~/ldap/base
  4. git remote add upstream git@github.com:$USER/ldap

3) 创建 overlays

如配置定制方法一样,创建并完善 overlays 目录中的内容。

所有的 overlays 都依赖于 base

  1. mkdir -p ~/ldap/overlays/staging
  2. mkdir -p ~/ldap/overlays/production

用户可以将 overlays 维护在不同的 repo 中。

4) 生成 variants

  1. kustomize build ~/ldap/overlays/staging | kubectl apply -f -
  2. kustomize build ~/ldap/overlays/production | kubectl apply -f -

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

  1. kubectl apply -k ~/ldap/overlays/staging
  2. kubectl apply -k ~/ldap/overlays/production

5) (可选)从上游更新

用户可以定期从上游 repo 中 rebase 他们的 base 以保证及时更新。

  1. cd ~/ldap/base
  2. git fetch upstream
  3. git rebase upstream/master