Browse Source

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
pull/2435/head
nprimo 10 months ago committed by Niccolò Primo
parent
commit
3e7b2d0ea2
  1. 20
      subjects/devops/cloud-design-k8s/README.md
  2. 12
      subjects/devops/cloud-design-k8s/audit/README.md

20
subjects/devops/cloud-design-k8s/README.md

@ -62,11 +62,9 @@ decisions, architecture, and implementation.
### Architecture ### Architecture
By using the provided previous projects' solutusion By using the provided project's solutusion
[`crud-master-py`](https://github.com/01-edu/crud-master-py),
[`play-with-containers`](https://github.com/01-edu/play-with-containers), and
[`orchestrator`](https://github.com/01-edu/orchestrator) you have to design and [`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: requirements, consisting of the following components:
- `inventory-database container` is a PostgreSQL database server that contains - `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: ### 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 an Infrastructure as Code (IaC) tools. This includes setting up Cloud computing
instances, containers, networking components, and storage services (e.g. AWS instances, containers, networking components, and storage services (e.g. AWS
S3). 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: ### Deployment:
Deploy the containerized microservices on your cloud provider using an Deploy the containerized microservices on your cloud provider using K8s.
orchestration tool. You must use K8s.
Ensure that the services are load-balanced (consider using a load Ensure that the services are load-balanced (consider using a load
balancer) and can communicate with each other securely. 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, 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: you can implement anything that you feel deserves to be a bonus, for example:
- Use your own `crud-master`, `play-with-containers`, and `orchestrator` - Use your own `orchestrator` solution instead of the provided ones.
solution instead of the provided ones.
- Use `Function as a Service (FaaS)` in your solution. - Use `Function as a Service (FaaS)` in your solution.

12
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. ##### 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? ###### Is the load balancing configured correctly, effectively distributing traffic across the services?

Loading…
Cancel
Save