Back to Junior Level

Simple K8s App


Prerequisite

  • Basic ability to create a microservice with language of choice
  • Knowledge of core Kubernetes resources
  • Access to a local k8s cluster (k3d, kind, or minikube are ok)

Requirements

Demonstrate working knowledge of application development and Kubernetes by creating a basic API application and manifests to deploy it in Kubernetes.

  • Create an API using your language of choice (Preferred: Java, Python, or Golang)
  • Create a GET endpoint which returns the JSON {"status": "Healthy"} and a 200 status code
  • Create a Dockerfile for your application
  • Create Deployment and Service manifest files to deploy your app in Kubernetes
  • Include a shell script which should perform the following:
    • Start a local k8s cluster (Optional: with a local registry)
    • Build your Docker image and push it to a public or local registry
    • Deploy your application Deployment and Service manifests to the cluster

Deliverable

  • A great README with instructions on how to run everything locally
  • A shell script to stand up a k8s cluster, build/push your Docker image, and deploy your Deployment and Service manifests
  • Should be able to use kubectl port-forward to interact with the deployed API
  • A GitHub repo with read permissions given to GitHub users rafty8s,bsneider, omnipresent07, dsm0014, and barakstout (how to invite collaborators)