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:
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.
Create a Kubernetes manifest for a pod that will contain a ToDo app container:
- Fork this repository.
- Create a
deployment.yml
file with a deployment for the app. - Deployment should have
- Strategy: RollingUpdate
- Resource requests and limits (in the idle state you should have 2 pods running)
- Pod spec should be same as for pods manifest
- Create a
hpa.yml
file with a Horizontal Pod Autoscaler for the app. - Autoscaler should define
- Minimum number of pods as 2
- Maximum number of pods as 5
- Autoscale should be triggered by both CPU and Memory
- Both new manifests should belong to
mateapp
namespace INSTRUCTION.md
should be created with the instructions on how to deploy the app to k8sINSTRUCTION.md
Should have explained your choice of resource requests and limitsINSTRUCTION.md
Should have explained your choice of HPA configurationINSTRUCTION.md
Should have explained your strategy configuration (Why such numbers)INSTRUCTION.md
Should have explained how to access the app after deployment- Create PR with your changes and attach it for validation on a platform.