Rootconf 2017

On service reliability

Tribuvan Kumar

@tribu

Quintype Deployment Automation and Auto-Scaling on Kubernetes

Submitted Feb 15, 2017

At Quintype, we have been running Kubernetes in production for more than 20 months now. This talk will briefly cover the main concepts of kubernetes followed by how we leverage Kubernetes at Quintype, how “production ready” it is, and the pros and cons in our use case. I will also present our deployment architecture and how it leverages concepts of blue-green and rolling deployment and auto-scaling

Outline

Kubernetes Architecture:

  • Pods
  • Replication Controllers
  • Services
  • Namespaces

Kubernetes Pros:

Kubernetes Cons:

Deploying the Cluster:

We use terraform and chef to provision and configure our cluster.
All instances in the cluster - master, minions and etcd run on Ubuntu and has proven to be very stable.

We do Kubernetes major version upgrades by doing rolling upgrade for the master and etcd cluster but creating a whole new cluster(blue-green) of minions and migrating the apps to it. (Terraform makes this easy!)

Deploying pods using Black-Knight:

Haproxy:
Kubernetes is a great tool to run (Docker) containers in a clustered production environment. There are also a few things that Kubernetes doesn’t solve though. When deploying often to a production environment we need fully automated deployments, which makes it possible to deploy without any downtime. We also need to handle external HTTP requests and SSL offloading. This requires integration with a load balancer like Ha-Proxy.

Auto-Scaling:

  • Auto-Scaling Containers
  • Auto-Scaling minions

Monitoring:

  • Prometheus
  • Sysdig

Requirements

Laptop for presenting slides

Speaker bio

Tribhuvan K Jain
Expert level DevOps engineer, currently working as Director of DevOps at Quintype. Has worked primarily as operations engineers for over 12 years in Bay Area and Bangalore at various capacity mostly in startup environment.

Slides

https://docs.google.com/presentation/d/1sw6pH2q6OG5-Lx4OK1xfFM21CBes6gnG2buWNqTGa6U/edit?usp=sharing

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

We care about site reliability, cloud costs, security and data privacy