zammad-docker-compose/kubernetes
André Bauer ce696bad8b
added init container (installation / update)... (#2)
- added memcached container (currently develop branch needed)
- put all zammad services in one kubernetes pod to be able to use empty dir volume for tmp
- switched to kubernetes deployments
- switched to ReadWriteOnce kubernetes volume claims
- added init container to elasticsearch & zammad kubernetes deployments
- added IMAGE_REPO var for docker compose to .env file
- run nginx from zammad container (preparation for stateless updates)
- removed docker-compose-build.yml
- use private docker repos in compose & kubernetes
- change compose volume names
2017-11-26 21:25:57 +01:00
..
00_namespace.yaml Added kubernetes yaml files 2017-10-24 15:57:42 +02:00
10_pvc.yaml added init container (installation / update)... (#2) 2017-11-26 21:25:57 +01:00
40_deployment_zammad.yaml added init container (installation / update)... (#2) 2017-11-26 21:25:57 +01:00
41_deployment_nginx.yaml added init container (installation / update)... (#2) 2017-11-26 21:25:57 +01:00
42_deployment_memcached.yaml added init container (installation / update)... (#2) 2017-11-26 21:25:57 +01:00
43_deployment_postgesql.yaml added init container (installation / update)... (#2) 2017-11-26 21:25:57 +01:00
44_deployment_elasticsearch.yaml added init container (installation / update)... (#2) 2017-11-26 21:25:57 +01:00
45_deployment_nfs.yaml added init container (installation / update)... (#2) 2017-11-26 21:25:57 +01:00
80_svc.yaml added init container (installation / update)... (#2) 2017-11-26 21:25:57 +01:00
90_ingress.yaml added init container (installation / update)... (#2) 2017-11-26 21:25:57 +01:00
Readme.md added init container (installation / update)... (#2) 2017-11-26 21:25:57 +01:00

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

  • Change the ingress to your needs

Deploy Zammad

Install on Minikube

Install on Google Kubernetes Engine

  • connect to cluster via gcloud command
  • kubectl apply -f .

If you want to help to improve the Kuberntes deployments here are some todos:

  • fix the nfs mount from entrypoint, which is currently used because of:
    • https://github.com/kubernetes/kubernetes/issues/8735
    • otherwise you have to manually:
      • kubectl apply -f 00_namespace.yaml -f 80_svc.yaml
      • kubectl --namespace=zammad describe services zammad-nfs
        • use the NFS server IP to update
          • 40_deployment_zammad.yaml
          • 41_deployment_nginx.yaml
      • kubectl apply -f 10_pvc.yaml -f 40_deployment_zammad.yaml -f 41_deployment_nginx.yaml -f 42_deployment_memcached.yaml -f 43_deployment_postgesql.yaml -f 44_deployment_elasticsearch.yaml -f 45_deployment_nfs.yaml -f 90_ingress.yaml
  • create config map for nginx
  • create a zammad helm chart
  • document steps to use existing helm charts for elasticsearch, postgresql and so on
  • add cpu & mem limits
  • add rolling upgrade strategy to deployments