Files
kustomize/docs/zh/workflows.md
guoxudong a8c476f7c0 add the Chhinese translation of docs list & install (#1022)
* Chinese docs list

* translate INSTALL.md

* supplement

* translate workflows.md

* fix

* update README & INSTALL

* Fix bad links

* squash all the commits of Chinese docs
2019-05-02 08:46:15 -07:00

3.6 KiB
Raw Blame History

工作流

工作流是 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