1f5c9036c2
- replaced wget with curl - made zammad image smaller by using tar.gz install instead of git clone - moved sed commands to entrypoint - added variables to entrypoint to set used servers dynamically - added kubernetes backup cronjob - added postgresql volume to compose file - write nginx logs to stdout & stderr - create zammad user & group manually with uid/gid 1000 |
||
---|---|---|
.. | ||
00_namespace.yaml | ||
10_pvc.yaml | ||
30_configmap_nginx.yaml | ||
40_deployment_zammad.yaml | ||
42_deployment_memcached.yaml | ||
43_deployment_postgesql.yaml | ||
50_statefulset_elasticsearch.yaml | ||
60_cronjob_backup.yaml | ||
80_svc.yaml | ||
90_ingress.yaml | ||
Readme.md |
Zammad kubernetes example deployment
This is a proof of concept of a Kubernetes deployment, which should be considered beta and not ready for production.
Prerequisites
- Kubernetes 1.8.x Cluster with at least on node, 2 CPUs and 4 GB of RAM
- Change the ingress to your needs
Deploy Zammad
Install on Minikube
- Install kubectl
- Install Minkube
- minikube start --memory=4096 --cpus=2
- minikube addons enable ingress
- echo "$(minikube ip) zammad.example.com" | sudo tee -a /etc/hosts
- kubectl apply -f .
- minikube dashboard
- switch to namespace "zammad"
- open "Overview" and wait until all pods are green
- access zammad on:
Install on Google Kubernetes Engine
- connect to cluster via gcloud command
- kubectl proxy
- kubectl apply -f .
- open dashboard in browser
If you want to help to improve the Kuberntes deployments here are some todos:
- add cpu & mem limits
- add rolling upgrade strategy to deployments
- add RBAC