Skip to content

mate-academy/devops_todolist_kubernetes_task_6_working_with_deamonsets_and_jobs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 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 daemonset.yml file with a daemonset.
  3. DaemonSet requirements:
    1. Container: busyboxplus:curl
    2. Resource requests and limits should be present
    3. Every 5 seconds it should execute a curl command to a clusterIp service of a todoapp.
  4. Create a cronjob.yml file with a CrobJob manifest.
  5. CrobJob requirements:
    1. Container: busyboxplus:curl
    2. Resource requests and limits
    3. Every 4 minutes it should call a /api/health endpoint of todoapp via a clusterIp service.
    4. Should keep 10 successful runs in history
    5. Should keep 5 failed runs in history
    6. Should have a concurrencyPolicy set to Allow
  6. Both new manifests should belong to mateapp namespace
  7. Create the INSTRUCTION.md file
  8. INSTRUCTION.md should contain the instructions on how to deploy daemonset.yml and cronjob.yml to the cluster.
  9. INSTRUCTION.md should be updated with the instructions on how to validate the solution. (Logs for the daemonset and cronjob should be present)
  10. Create PR with your changes and attach it for validation on a platform.