本文介绍使用和维护 Kustomize 的方法及步骤。
在这个工作流方式中,所有的配置文件( YAML 资源)都为用户所有,存在于私有 repo 中。其他人是无法使用的。
创建一个目录用于版本控制
git init ~/ldap
创建一个 base
在这个目录中创建并提交 kustomization.yaml
文件和一组资源,例如 deployment.yaml
service.yaml
等。
创建 overlays
每个目录都需要一个 kustomization.yaml
文件以及一个或多个 patch
,例如 healthcheck_patch.yamlmemorylimit_patch.yaml
等。。
staging
目录可能会使用一个 patch
,用于在 configmap
增加一个实验配置。
生成 variants
kustomize build ~/ldap/overlays/staging | kubectl apply -f -
kustomize build ~/ldap/overlays/production | kubectl apply -f -
kubectl apply -k ~/ldap/overlays/staging
kubectl apply -k ~/ldap/overlays/production
使用现成的配置
在这个工作流方式中,可从别人的 repo 中 fork kustomize 配置,并根据自己的需求来配置。
通过 fork/modify/rebase 等方式获得配置
将其克隆为你自己的 base
mkdir ~/ldap
git clone https://github.com/$USER/ldap ~/ldap/base
cd ~/ldap/base
git remote add upstream git@github.com:$USER/ldap
创建 overlays
mkdir -p ~/ldap/overlays/staging
mkdir -p ~/ldap/overlays/production
生成 variants
在 kubernetes 1.14 版本, kustomize
已经集成到 kubectl
命令中,成为了其一个子命令,可使用 kubectl
来进行部署
kubectl apply -k ~/ldap/overlays/staging
kubectl apply -k ~/ldap/overlays/production
(可选)更新 base
用户可以定期从上游 repo 中 rebase
他们的 base
以保证及时更新