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.


Time series database:

  • Enables scaping of metrics from pods
  • Retrieves log data from Loki
  • Retrieves trace data from Tempo
  • Provides data for Grafana

Data visualizer:

  • Reads log, metric and trace data from Prometheus
  • Provides powerful tools for data visualization

Log aggregator:

  • Acts as a data source for Prometheus
  • Accepts log data from Promtail

Log scraper:

  • Scrapes and labels log data from pods
  • Pushes log data to Loki

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

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


Continuous Deployment Provider:

  • Synchronizes Kubernetes state with a Git repository
  • Enables rollback of state based on commit history
  • Provides superficial administration of cluster applications

A pluggable OAuth2 handler:

  • Acts as a mediator for Cognito
  • Handles authentication for ArgoCD
  • Handles authentication for Grafana