AWS resources used
The following is a map of all the resources Okctl will set up.
AWS resource dependencies
The following shows how relations between the different resources.
Kubernetes installed components
The following shows how relations between the different resources.
Monitoring
Prometheus
Time series database:
- Enables scaping of metrics from pods
- Retrieves log data from Loki
- Retrieves trace data from Tempo
- Provides data for Grafana
Grafana
Data visualizer:
- Reads log, metric and trace data from Prometheus
- Provides powerful tools for data visualization
Loki
Log aggregator:
- Acts as a data source for Prometheus
- Accepts log data from Promtail
Promtail
Log scraper:
- Scrapes and labels log data from pods
- Pushes log data to Loki
Tempo
Tracing backend:
- Acts as a datasource for Prometheus
- Supports OpenTelemetry, Jaeger, Zipkin
Kube System
AWS Load Balancer
Ingress controller:
- Provides load balancers based on Kubernetes Ingress
AutoScaler
Horizontal cluster scaler:
- Adds and removes cluster nodes depending on load
EBS CSI Controller
Persistent volume provider:
- Creates AWS Elastic Block Store based on Persistent Volume Claims and connects them to pods
External DNS
Domain administration controller:
- Configures Route53 entries based on Kubernetes Ingress
External Secrets
Secrets controller:
- Fetches secrets from AWS Parameter Store and Secrets Manager, then injects them into the cluster
ArgoCD
ArgoCD
Continuous Deployment Provider:
- Synchronizes Kubernetes state with a Git repository
- Enables rollback of state based on commit history
- Provides superficial administration of cluster applications
Dex
A pluggable OAuth2 handler:
- Acts as a mediator for Cognito
- Handles authentication for ArgoCD
- Handles authentication for Grafana