Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
1 contributor

Users who have contributed to this file

128 lines (88 sloc) 3.56 KB

工作流

工作流是 kustomize 运行和维护配置的步骤。

配置定制(Bespoke configuration)

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

bespoke config workflow image

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

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

git init ~/ldap

2) 创建一个 base

mkdir -p ~/ldap/base

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

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

使用现成的配置(Off-the-shelf configuration)

在这个工作流方式中,可从别人的 repo 中 fork kustomize 配置,并根据自己的需求来配置。

off-the-shelf config workflow image

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

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

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

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

3) 创建 overlays

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

所有的 overlays 都依赖于 base

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

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

4) 生成 variants

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

5) (可选)从上游更新

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

cd ~/ldap/base
git fetch upstream
git rebase upstream/master
You can’t perform that action at this time.