本文介绍使用和维护 Kustomize 的方法及步骤。
定制配置
在这个工作流方式中,所有的配置文件( YAML 资源)都为用户所有,存在于私有 repo 中。其他人是无法使用的。

创建一个目录用于版本控制
我们希望将一个名为 ldap 的 Kubernetes 集群应用的配置保存在自己的 repo 中。 这里使用
git进行版本控制。git init ~/ldap创建一个
basemkdir -p ~/ldap/base在这个目录中创建并提交
kustomization.yaml文件和一组资源,例如deployment.yamlservice.yaml等。创建
overlaysmkdir -p ~/ldap/overlays/staging mkdir -p ~/ldap/overlays/production每个目录都需要一个
kustomization.yaml文件以及一个或多个patch,例如healthcheck_patch.yamlmemorylimit_patch.yaml等。。production
目录则可能会在deployment``` 中增加在副本数。生成
variants运行
kustomize,将生成的配置用于 kubernetes 应用部署kustomize build ~/ldap/overlays/staging | kubectl apply -f - kustomize build ~/ldap/overlays/production | kubectl apply -f -在 kubernetes 1.14 版本,
kustomize已经集成到kubectl命令中,成为了其一个子命令,可使用kubectl来进行部署kubectl apply -k ~/ldap/overlays/staging kubectl apply -k ~/ldap/overlays/production
使用现成的配置
在这个工作流方式中,可从别人的 repo 中 fork kustomize 配置,并根据自己的需求来配置。

通过 fork/modify/rebase 等方式获得配置
将其克隆为你自己的
base在这个
bash目录维护在一个 repo 中,在这个例子使用ladp的 repomkdir ~/ldap git clone https://github.com/$USER/ldap ~/ldap/base cd ~/ldap/base git remote add upstream git@github.com:$USER/ldap创建
overlays如上面的案例一样,创建并完善
overlays目录中的内容mkdir -p ~/ldap/overlays/staging mkdir -p ~/ldap/overlays/production用户可以将
overlays维护在不同的 repo 中生成
variantskustomize build ~/ldap/overlays/staging | kubectl apply -f - kustomize build ~/ldap/overlays/production | kubectl apply -f -在 kubernetes 1.14 版本,
kustomize已经集成到kubectl命令中,成为了其一个子命令,可使用kubectl来进行部署kubectl apply -k ~/ldap/overlays/staging kubectl apply -k ~/ldap/overlays/production(可选)更新
base用户可以定期从上游 repo 中rebase他们的base以保证及时更新cd ~/ldap/base git fetch upstream git rebase upstream/master