A fun little technical assessment
- Azure CLI
- Python
- Ansible
- Kubectl
- Minikube (Optional)
Spin up a Kubernetes cluster on Azure AKS. This can be via the AZ CLI or the Azure dashboard. It can be a single node cluster.
Deploy a simple MongoDB instance to Kubernetes. It should only be accessible within the cluster. It is not neccessary to add authentication.
Fork this repo and check-out the code. Dockerize the application.
Once you're happy, you can push it to the docker registry. Authentication details for the registry will be provided.
Next, create the neccessary Kubernetes resources to serve up this API. Allow the API to be accessible from the internet.
TIP: The API will need to be able to communicate with Mongo. To ensure that everything is up, you can make use of readiness and liveness probes in Kubernetes for this. The API provides a handy /health
endpoint to check if it can connect to a Mongo instance.
Create an Ansible playbook to automate the deployment of the API to Kubernetes. You don't have to automate the MongoDB deployment.
Dockerize the playbook and push it to the Docker registry. This will make the next task easier.
Create a repo on GitLab and push the API repo to it. Create a GitLab CI pipeline for this repo which automatically executes the above playbook on every commit to the master branch.