Jobs on Kubernetes
Olympus project status
XING SE
Olympus project?
To deploy Jobs on Kubernetes
Deployments 101
Rails
Jobs
Jobs is a Ruby on Rails app
http://rubyonrails.org/
Docker
Jobs
Packaged with Docker
https://www.docker.com/
environment vars FTW!
Jobs is a Ruby on Rails app
Kubernetes Pods
Jobs
k8s' pod contains the Docker container
https://kubernetes.io/docs/concepts/workloads/pods/pod/
environment vars FTW!
Packaged in a Docker image
Jobs is a Ruby on Rails app
k8s namespace
Several pods conform the jobs-team namespace
Pods have roles, e.g. Web, API, cronjobs, workers
Some pods are ephemeral, e.g. cron jobs, db migrate
Jenkins Pipeline deploys the whole namespace
namespace jobs-team
Web
API
AMQP
Kafka
crons
db migrate
ephemeral pods
https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
Status
- Deployed on preview since 18th December
- Mostly stable
- WIP fixing issues: js ServiceWorkers, assets, FTP upload, Kafka worker, Docker image
- PR https://source.xing.com/jobs-team/jobs/pull/3628
Next steps
TODO: QA
- Mobile APIs
- AMQP workers
- Cronjobs
- Feed generation
- Juicer integration
- Kafka workers
- ... you name it!
- Web
- Internal APIs
TODO: tools
Document all tools
- logs
- deployments
- monitoring
https://source.xing.com/jobs-team/jobs/issues/3656
TODO: processes
Document all processes
- rollbacks
- hotfixes to given roles
- canary deploys
https://source.xing.com/jobs-team/jobs/issues/3657
Thanks
Jobs on Kubernetes
By Joaquin Rivera Padron
Jobs on Kubernetes
Deploying jobs app on Kubernetes
- 968