Skip to content

mate-academy/devops_todolist_kubernetes_task_5_working_with_deployments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django ToDo list

This is a to-do list web application with the basic features of most web apps, i.e., accounts/login, API, and interactive UI. To do this task, you will need:

Explore

Try it out by installing the requirements (the following commands work only with Python 3.8 and higher, due to Django 4):

pip install -r requirements.txt

Create a database schema:

python manage.py migrate

And then start the server (default is http://localhost:8000):

python manage.py runserver

You can now browse the API or start on the landing page.

Task

Create a Kubernetes manifest for a pod that will contain a ToDo app container:

  1. Fork this repository.
  2. Create a deployment.yml file with a deployment for the app.
  3. Deployment should have
    1. Strategy: RollingUpdate
    2. Resource requests and limits (in the idle state you should have 2 pods running)
    3. Pod spec should be same as for pods manifest
  4. Create a hpa.yml file with a Horizontal Pod Autoscaler for the app.
  5. Autoscaler should define
    1. Minimum number of pods as 2
    2. Maximum number of pods as 5
    3. Autoscale should be triggered by both CPU and Memory
  6. Both new manifests should belong to mateapp namespace
  7. INSTRUCTION.md should be created with the instructions on how to deploy the app to k8s
  8. INSTRUCTION.md Should have explained your choice of resource requests and limits
  9. INSTRUCTION.md Should have explained your choice of HPA configuration
  10. INSTRUCTION.md Should have explained your strategy configuration (Why such numbers)
  11. INSTRUCTION.md Should have explained how to access the app after deployment
  12. Create PR with your changes and attach it for validation on a platform.