From 3e7b2d0ea2be74536366dcf3b060cd88a78bd846 Mon Sep 17 00:00:00 2001 From: nprimo Date: Wed, 24 Jan 2024 09:57:35 +0100 Subject: [PATCH] feat(cloud-design-k8s): better enforce the use of k8s - clarify subject - add specific questions in the audit to check if the student used k8s in a proper way --- subjects/devops/cloud-design-k8s/README.md | 20 +++++-------------- .../devops/cloud-design-k8s/audit/README.md | 12 ++++++++++- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/subjects/devops/cloud-design-k8s/README.md b/subjects/devops/cloud-design-k8s/README.md index a8247d627..6b3af9752 100644 --- a/subjects/devops/cloud-design-k8s/README.md +++ b/subjects/devops/cloud-design-k8s/README.md @@ -62,11 +62,9 @@ decisions, architecture, and implementation. ### Architecture -By using the provided previous projects' solutusion -[`crud-master-py`](https://github.com/01-edu/crud-master-py), -[`play-with-containers`](https://github.com/01-edu/play-with-containers), and +By using the provided project's solutusion [`orchestrator`](https://github.com/01-edu/orchestrator) you have to design and -deploy the infrastructure on your chose Cloud provider respecting the project +deploy the infrastructure on your chosen Cloud provider respecting the project requirements, consisting of the following components: - `inventory-database container` is a PostgreSQL database server that contains @@ -140,21 +138,14 @@ reasonable cost range. Consider the following when designing your architecture: ### Infrastructure as Code: -Provision the necessary resources for your AWS environment using Terraform as +Provision the necessary resources for your Cloud environment using Terraform as an Infrastructure as Code (IaC) tools. This includes setting up Cloud computing instances, containers, networking components, and storage services (e.g. AWS S3). -### Containerize the microservices: - -Use Docker to build container images for each microservice. Make sure to -optimize the Dockerfile for each service to reduce the image size and build -time. - ### Deployment: -Deploy the containerized microservices on your cloud provider using an -orchestration tool. You must use K8s. +Deploy the containerized microservices on your cloud provider using K8s. Ensure that the services are load-balanced (consider using a load balancer) and can communicate with each other securely. @@ -194,8 +185,7 @@ project. If you complete the mandatory part successfully and you still have free time, you can implement anything that you feel deserves to be a bonus, for example: -- Use your own `crud-master`, `play-with-containers`, and `orchestrator` - solution instead of the provided ones. +- Use your own `orchestrator` solution instead of the provided ones. - Use `Function as a Service (FaaS)` in your solution. diff --git a/subjects/devops/cloud-design-k8s/audit/README.md b/subjects/devops/cloud-design-k8s/audit/README.md index 69164088f..759944bb1 100644 --- a/subjects/devops/cloud-design-k8s/audit/README.md +++ b/subjects/devops/cloud-design-k8s/audit/README.md @@ -60,7 +60,17 @@ Review the student's architecture design, ensuring that it meets the project req ##### Verify the deployment. Ask the auditee **to show you**, the auditor, the use of the commands `kubectl`, the CLI tool for the chosen cloud provider and any other necessary with the right options to answer the following questions. -###### Are all the microservices running as expected in the cloud environment, with no errors or connectivity issues? +##### Ask the student to run the command `kubectl get pods -A`. Ensure the `KUBECONFIG` environment variable is correctly set to communicate with the K8s cluster deployed in the cloud. + +###### Are all the microservices running as expected in the cloud environment? + +##### Test CRUD (create, read, update and delete) operations for the `invenotry app` microservice. + +###### Is everything working as expected? + +##### Test the `billing app` microservice. Add an order to the queue and ask the student to show the updated database. + +###### Is everything working as expected? ###### Is the load balancing configured correctly, effectively distributing traffic across the services?