本地开发

本章提供了关于 helm chart 本地开发以及如何对其进行更改的说明。

模板展开

helm template --name tester --set acceptLicenseAgreement=yes --set neo4jPassword=mySecretPassword . > expanded.yaml

全周期测试

以下迷你脚本将配置一个测试集群,监控其 rollout,测试它,报告结果,并进行拆除/销毁 PVC。

配置 K8S 集群

请使用 tools/test/provision-k8s.sh 并根据您的 Google Cloud 项目 ID 进行自定义

独立模式

独立模式启动更快,因此我们可以手动降低 liveness/readiness 超时时间。

export NAME=a
export NAMESPACE=default
helm install $NAME . --set acceptLicenseAgreement=yes --set neo4jPassword=mySecretPassword --set core.standalone=true --set readinessProbe.initialDelaySeconds=20 --set livenessProbe.initialDelaySeconds=20 && \
kubectl rollout status --namespace $NAMESPACE StatefulSet/$NAME-neo4j-core --watch && \
helm test $NAME --logs | tee testlog.txt
helm uninstall $NAME
sleep 20
for idx in 0 1 2 ; do
  kubectl delete pvc datadir-$NAME-neo4j-core-$idx ;
done

因果集群

export NAME=a
export NAMESPACE=default
helm install $NAME . --set acceptLicenseAgreement=yes --set neo4jPassword=mySecretPassword --set readReplica.numberOfServers=1 && \
kubectl rollout status --namespace $NAMESPACE StatefulSet/$NAME-neo4j-core --watch && \
helm test $NAME --logs | tee testlog.txt
helm uninstall $NAME
sleep 20
for idx in 0 1 2 ; do
  kubectl delete pvc datadir-$NAME-neo4j-core-$idx ;
done

内部工具

此仓库包含 helm chart 的备份、恢复和测试所需的内部工具容器,位于 tools 目录下。

构建容器

如果您想推送自己的 docker 容器,请确保 Makefile 中的注册表设置为您拥有权限的位置。

cd tools
make docker_build
make docker_push
© . All rights reserved.