Covergo Senior Cloud Engineer Interview Test Solution

 

 

                              Covergo Senior Cloud Engineer Interview Test Solution


Notes:
Please use Kind to create a local Kubernetes cluster
https://kind.sigs.k8s.io/
Add Makefile with commands (can be extended if required):
make up - creates Kubernetes cluster;
make deploy - deploy all required manifests, uploads images and etc;
make down - destroy Kubernetes cluster and all resources.
Expected Output:


Scenario 1: Create a multi-node Kubernetes cluster with Terraform.


Create TF scripts for deploying a multi-node Kind cluster
Name: new
Kind provider: https://github.com/tehcyx/terraform-provider-kind
Nodes: 1 control plane and 2 worker node
Deploy the Kind cluster with Terraform.


Scenario 2: Create custom helm charts and deploy them to the Kubernetes cluster.


Task 1:
Create an HTTP application that shows the current time
name: app1
listen: 0.0.0.0:8282
Inject environment variable with configmap:
variable: APP_NAME = CoverGo
variable: APP_VERSION = 1.0.1
Bundle application to the Docker image.
Upload the image to the Kubernetes cluster with the kind load command.
Create a custom helm chart that deploys 2 replicas of the application app1.
Schedule replica deployment on different worker nodes.


Task 2:
Create another HTTP application based on the Nginx image.
name: nginx1
listen: 0.0.0.0:8282
Attach persistent volume:
size: 1Mb
mount path: /data
Create a custom helm chart that deploys 1 replica of the application nginx1.


Scenario 3: Test the network isolation and policy enforcement features of Kind.

  • Define network policies in a Kubernetes manifest to restrict network traffic between app1 and nginx1:
  • Deploy the manifest to the Kind cluster and ensure that it is possible to reach app1 from nginx1, but the opposite (from app1 to ng
  • inx1).
  • Verify that pods can communicate only with themselves based on the defined network policies.
  • from nginx1: curl http://app1:8282 <= works
  • from app1: curl http://nginx1:8282 <= forbidden

Scenario 4: Design a multi-stage deployment pipeline


Propose a solution for the app1 multi-stage release pipeline with assumptions:
Cloud provider: AWS, CGP, Azure (select one)
Environments: Dev => Prod
Repository: Github
Distribution: helm chart
Draw a principal diagram and add the required description. 


Solution: 

Solution Link: https://shawon10.gumroad.com/l/covergo-solution

Book 1:1 Mentorship session to get the solution with some trainings

Solution Mentorship Link: https://topmate.io/ashadullah_shawon/431597 

 

Download Coding Interview Book and Get More Tutorials for Coding and Interview Solution: Click Here

Download System Design Interview Book and Get More Tutorials and Interview Solution: Click Here

Do you need more Guidance or Help? Then Book 1:1 Quick Call with Me: Click Here

Share on Google Plus

About Ashadullah Shawon

I am Ashadullah Shawon. I am a Software Engineer. I studied Computer Science and Engineering (CSE) at RUET. I Like To Share Knowledge. Learn More: Click Here
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment