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

  • 856