top of page
Abstract Shapes

Career

Mid Level Assignment: Kubernetes Deployment and Scaling

Scenario:
You are responsible for deploying a microservices-based application on a Kubernetes cluster. The application consists of multiple services that need to be scaled dynamically based on demand.
Requirements:

  • Kubernetes Cluster Setup: Set up a Kubernetes cluster (locally or on a cloud provider).

  • Docker Images: Dockerize each microservice of the application and push the images to a registry.

  • Kubernetes Deployment: Create Kubernetes deployment manifests for each microservice. Ensure that:

  • Services are deployed with the desired replicas.

  • Resources (CPU, memory) are allocated appropriately.

  • Auto-scaling: Implement Horizontal Pod Autoscaling (HPA) for critical microservices. Configure HPA to:

  • Automatically scale pods based on CPU utilization.

  • Set minimum and maximum replicas based on workload requirements.

  • CI/CD Integration: Integrate the Kubernetes deployment manifests into the CI/CD pipeline. The pipeline should:

  • Deploy the application to the Kubernetes cluster after successful build and testing.

  • Roll out updates seamlessly with zero downtime.

Additional notes

  • You can use any programming language you prefer (GoLang is a plus). You are allowed to use open-source packages as you see fit.

  • follow best practices for Docker, Kubernetes, and CI/CD pipelines.

  • Any details not specified in the description are up to you.

  • Provide clear and detailed documentation for deploying, scaling, and maintaining the platform.

  • Once completed, the assignments should be published in a publicly accessible version control system such as Git.

bottom of page