Deploying a Multi Master Kubernetes Cluster on Azure Stack

Customer Profile

Loves Cloud’s customer is one of the largest business conglomerates in India, with business verticals including telecom, retail, petrochemicals among others. With a thrust on embracing cloud and DevOps tools and platforms from management to support humongous load of applications catering to internal and external stakeholders through 100+ microservices, our customer needed a robust solution with a challenging timeline.

Goal

During our discussion with customer AVP we zeroed in for following goals:

  • Deploying Kubernetes on Azure Stack
  • Making Kubernetes highly available and robust
  • Connecting Kubernetes with existing CI/CD pipeline
  • Converting entire deployment into infrastructure as a code

Solution

By utilizing past experiences of working with Kubernetes on multiple cloud platforms, Loves Cloud implemented following solution:

  • Setup Kubernetes cluster using multi-master and external ETCD configuration on Azure Stack
  • Configured ingress for 100+ microservices
  • Added Kubernetes cluster as a deployment target for all deployments in CI/CD pipeline
  • Converted entire infrastructure into a code through Ansible Tower
  • Setup real time monitoring and alerting through Prometheus and Grafana

Tech Stack

This solution used following tool, platforms and programming and scripting languages:

  • Private cloud platform – Azure Stack
  • DevOps tools – Kubernetes, Ansible Tower, Prometheus and Grafana
  • Programming & Scripting languages – Python, Shell Scripting

Solution Architecture

Deploying a Multi Master Kubernetes Cluster on Azure Stack

Click to see large view

Results

Based on changes implemented within predefined timeline by Loves Cloud, customer gained following benefits in addition to predefined goals:

  • More than 2000 deployments successfully deployed on this sturdy cluster in 6 months
  • Entire cluster can be recreated in less than two hours in an event of disaster, thus reducing disaster recovery time significantly
  • Entire deployment process was automated through extensive use of scripting languages
  • Entire process was documented by Loves Cloud that was used by customer to train internal teams
  • Best practices used by Loves Cloud for creating this Kubernetes cluster were used by other teams at customer’s end