Skip to content

Instantly share code, notes, and snippets.

@riskiwah
Created August 30, 2024 16:54
Show Gist options
  • Save riskiwah/4bb9ecf09d6890b6faecdfc7168e14c0 to your computer and use it in GitHub Desktop.
Save riskiwah/4bb9ecf09d6890b6faecdfc7168e14c0 to your computer and use it in GitHub Desktop.
steampipe kubernetes query

steampipe kubernetes query

kubernetes pod

--- cpu and memory per pod
> select
  p.namespace,
  p.name as pod_name,
  c ->> 'name' as container_name,
  c -> 'resources' -> 'requests' ->> 'cpu' as cpu_request,
  c -> 'resources' -> 'requests' ->> 'memory' as memory_request,
  c -> 'resources' -> 'limits' ->> 'cpu' as cpu_limit,
  c -> 'resources' -> 'limits' ->> 'memory' as memory_limit
from
  kubernetes_pod p,
  jsonb_array_elements(p.containers) as c
where
  p.namespace = 'default';

kubernetes deployment

--- cpu and memory per deployment with 1 pod
> select
  d.name as deployment_name,
  p.namespace,
  p.name as pod_name,
  c ->> 'name' as container_name,
  c -> 'resources' -> 'requests' ->> 'cpu' as cpu_request,
  c -> 'resources' -> 'requests' ->> 'memory' as memory_request,
  c -> 'resources' -> 'limits' ->> 'cpu' as cpu_limit,
  c -> 'resources' -> 'limits' ->> 'memory' as memory_limit
from
  kubernetes_deployment d
  join kubernetes_pod p on p.namespace = d.namespace
  and p.labels ->> 'app' = d.labels ->> 'app'
  cross join jsonb_array_elements(p.containers) as c
where
  p.namespace = 'default';
--- active deployment with *_replicas
> select
  name as deployment_name,
  namespace,
  ready_replicas,
  updated_replicas,
  available_replicas
from
  kubernetes_deployment
where
  namespace = 'default' and
  (ready_replicas > 0) and
  (updated_replicas > 0) and
  (available_replicas > 0);
--- then count it
> select
  count(*) as active_deployments
from
  kubernetes_deployment
where
  namespace = 'default' and
  (ready_replicas > 0) and
  (updated_replicas > 0) and
  (available_replicas > 0);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment