Resource Health Deployment Guide⚓︎
The Resource Health Building Block (BB) offers a generalized capability that allows users to specify and schedule health checks relating to their resources of interest, visualize the outcomes, and receive notifications according to the outcomes. This guide provides step-by-step instructions to deploy the Resource Health BB in your Kubernetes cluster using the simplified Helm approach.
Table of Contents⚓︎
- Introduction
- Components Overview
- Prerequisites
- Deployment Steps
- Validation
- Uninstallation
- Further Reading
- Scripts and Manifests
Introduction⚓︎
The Resource Health Building Block allows users to:
- Specify and schedule health checks for resources.
- Observe check outcomes and receive notifications.
- Use a REST API, dashboard, or Git repository to specify checks.
- Visualise status and performance statistics through a dashboard.
- Access health check status via API for integration into portals.
This deployment guide provides instructions to deploy the Resource Health BB using a simplified Helm chart approach, consolidating previous complexities into a single Helm deployment.
Components Overview⚓︎
The Resource Health BB comprises the following key components:
-
Resource Health Core: The main component responsible for orchestrating health checks and collecting results.
-
OpenSearch and OpenSearch Dashboards: Used for storing and visualizing health check results.
-
OpenTelemetry Collector: Collects telemetry data from health checks and forwards it to OpenSearch.
-
Health Check Runner: Executes the specified health checks according to the defined schedule.
Prerequisites⚓︎
Before deploying the Resource Health Building Block, ensure you have the following:
Component | Requirement | Documentation Link |
---|---|---|
Kubernetes | Cluster (tested on v1.23 or newer) | Installation Guide |
Helm | Version 3.5 or newer | Installation Guide |
kubectl | Configured for cluster access | Installation Guide |
Ingress Controller | Properly installed (e.g., NGINX) | Installation Guide |
TLS Certificates (Internal) | ClusterIssuer for internal certificates | Internal TLS Setup |
Clone the Deployment Guide Repository:
git clone -b 2.0-alpha https://github.com/EOEPCA/deployment-guide
cd deployment-guide/scripts/resource-health
Validate your environment:
Run the validation script to ensure all prerequisites are met:
Deployment Steps⚓︎
- Run the Configuration Script:
Important Note: - Ensure that you have internal TLS setup. Please refer to the Internal TLS Deployment Guide
- Deploy the Resource Health BB Using Helm:
git clone https://github.com/EOEPCA/resource-health reference-repo
helm dependency build reference-repo/resource-health-reference-deployment
helm install resource-health reference-repo/resource-health-reference-deployment \
--namespace resource-health \
--create-namespace \
--values generated-values.yaml
- Monitor the Deployment:
- Access the Resource Health Services:
Since we haven’t defined any Ingress resources in the values.yaml
, you might need to set up Ingress separately if required. However, if the Helm chart includes default Ingress configurations, you can access the services as per those configurations.
Validation⚓︎
Automated Validation:
Further Validation:
- Check Kubernetes Resources:
- Access Resource Health API:
Open a web browser and navigate to: https://resource-health.${INGRESS_HOST}/
- Access OpenSearch Dashboards:
Open a web browser and navigate to: https://resource-health-opensearch-dashboards.${INGRESS_HOST}/
- Test Resource Health Functionality:
- Create sample health checks using the provided examples or your own scripts.
- Verify that health checks are executed according to the schedule.
- View health check results in OpenSearch Dashboards.
Uninstallation⚓︎
To uninstall the Resource Health Building Block and clean up associated resources: