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

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

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