From 08e989b02bc542ddac365b97da6489bf7cf24a70 Mon Sep 17 00:00:00 2001 From: Ivan Danilov Date: Sun, 1 Dec 2024 13:10:39 +0200 Subject: [PATCH] refactor: DevOps and AWS course task 8 --- .../4_monitoring-configuration/task_8.md | 59 ++++++++----------- 1 file changed, 26 insertions(+), 33 deletions(-) diff --git a/devops/modules/4_monitoring-configuration/task_8.md b/devops/modules/4_monitoring-configuration/task_8.md index e052ed517..e6ed4be55 100644 --- a/devops/modules/4_monitoring-configuration/task_8.md +++ b/devops/modules/4_monitoring-configuration/task_8.md @@ -7,47 +7,40 @@ In this task, you will install Grafana on your Kubernetes (K8s) cluster using a ## Steps 1. **Install Grafana** - - Follow the instructions to install Grafana using the Helm chart by Bitnami. Refer to the [Grafana documentation](https://grafana.com/docs/) for more details. - - Ensure Grafana is available from the internet via an encrypted connection. - -2. **Create Dashboard** - +2. **Configure Grafana** - Add a new data source pointing to the existing Prometheus installation. - - Create a dashboard with main K8s metrics visualized, such as CPU and memory utilization, nodes capacity, etc. - -3. **Store Artifacts in Git** - - - Store the Helm chart and configuration files for Grafana deployment in a new git repository. - -4. **Additional Tasks** - - Document the Grafana setup, including the dashboard creation, in a README file. +3. **Create a Dashboard** + - Create a dashboard with basic metrics visualized, such as CPU and memory utilization, storage usage, etc. +4. **Document the Setup** + - Create a README file documenting the Grafana setup, including the dashboard creation. ## Submission -- Provide a PR with the Helm chart and configuration files for Grafana deployment in a new repository. -- Ensure that Grafana is installed and available from the internet via an encrypted connection. -- Provide a screenshot of the Grafana dashboard with main K8s metrics visualized. -- Provide a README file documenting the Grafana setup, including the dashboard creation. +- Provide a PR with automation of a Grafana deployment in Kubernetes with IaC or CI/CD pipeline. +- Provide an output of `kubectl get pods` with running Grafana. +- Include a screenshot or configuration of the Prometheus data source configuration. +- Include a screenshot of the dashboard created. +- Include a JSON file of the dashboard layout. +- Provide a README file documenting the Grafana deployment and configuration. ## Evaluation Criteria (100 points for covering all criteria) -1. **Grafana Installation (40 points)** - +1. **Grafana Installation (30 points)** - Grafana is installed on the K8s cluster using the Helm chart by Bitnami. - - Grafana is available from the internet via an encrypted connection. - -2. **Dashboard Creation (30 points)** - - - A new data source pointing to the existing Prometheus installation is added. - - A dashboard is created with main K8s metrics visualized, such as CPU and memory utilization, nodes capacity, etc. - -3. **Repository Submission (10 points)** + - A data source pointing to the existing Prometheus installation is added. +2. **Dashboard Creation (40 points)** + - A dashboard is created with basic metrics visualized, such as CPU and memory utilization, storage usage, etc. +3. **Deployment Automation (10 points)** + - Automation of deployment with IaC or CI/CD pipeline is created. +4. **Additional Tasks (20 points)** + - Admin user password is created with a separate secret. (10 points) + - A JSON file of the dashboard layout is provided. (5 points) + - The Grafana setup, including the dashboard creation, is documented in a README file. (5 points) - - A repository is created with the Helm chart and configuration files for Grafana deployment. +## References -4. **Additional Tasks (20 points)** - - **Documentation (10 points)** - - The Grafana setup, including the dashboard creation, is documented in a README file. - - **Security Configuration (10 points)** - - Grafana is configured with proper authentication and security settings. +- [Grafana Documentation](https://grafana.com/docs/) +- [Helm Chart for Grafana](https://github.com/bitnami/charts/tree/main/bitnami/grafana) +- [Tool to impose load](https://linux.die.net/man/1/stress) +- [Understanding Machine CPU Usage](https://www.robustperception.io/understanding-machine-cpu-usage/)