steampipe plugin install aws

Table: aws_eks_node_group - Query AWS EKS Node Group using SQL

The AWS EKS Node Group is a resource within Amazon Elastic Kubernetes Service (EKS). It represents a group of nodes within a cluster that all share the same configuration, making it easier to manage and scale your applications. Node groups are associated with a specific Amazon EKS cluster and can be customized according to your workload requirements.

Table Usage Guide

The aws_eks_node_group table in Steampipe provides you with information about each node group within an AWS Elastic Kubernetes Service (EKS) cluster. This table allows you, as a DevOps engineer, system administrator, or other technical professional, to query node-group-specific details, including the node group ARN, creation timestamp, health status, and associated metadata. You can utilize this table to gather insights on node groups, such as the status of each node, the instance types used, and more. The schema outlines the various attributes of the EKS node group for you, including the node role, subnets, scaling configuration, and associated tags.

Examples

Basic info

Explore the status and creation details of node groups within your Amazon EKS clusters. This allows you to track the health and longevity of your Kubernetes resources, aiding in efficient resource management.

select
nodegroup_name,
arn,
created_at,
cluster_name,
status
from
aws_eks_node_group;
select
nodegroup_name,
arn,
created_at,
cluster_name,
status
from
aws_eks_node_group;

List node groups that are not active

Identify instances where certain node groups within your AWS EKS service are not active. This can help in managing resources effectively by pinpointing potential areas of concern or underutilization.

select
nodegroup_name,
arn,
created_at,
cluster_name,
status
from
aws_eks_node_group
where
status <> 'ACTIVE';
select
nodegroup_name,
arn,
created_at,
cluster_name,
status
from
aws_eks_node_group
where
status != 'ACTIVE';

Get health status of the node groups

Assess the health status of various node groups within your AWS EKS clusters. This can help identify any potential issues or anomalies, ensuring optimal performance and stability of your Kubernetes workloads.

select
nodegroup_name,
cluster_name,
jsonb_pretty(health) as health
from
aws_eks_node_group;
select
nodegroup_name,
cluster_name,
health
from
aws_eks_node_group;

Get launch template details of the node groups

Determine the configuration details of node groups within a cluster to understand the settings and specifications of each node group.

select
nodegroup_name,
cluster_name,
jsonb_pretty(launch_template) as launch_template
from
aws_eks_node_group;
select
nodegroup_name,
cluster_name,
launch_template
from
aws_eks_node_group;

Schema for aws_eks_node_group

NameTypeOperatorsDescription
_ctxjsonbSteampipe context in JSON form.
account_idtext=, !=, ~~, ~~*, !~~, !~~*The AWS Account ID in which the resource is located.
akasjsonbArray of globally unique identifier strings (also known as) for the resource.
ami_typetextThe AMI type that was specified in the node group configuration.
arntextThe Amazon Resource Name (ARN) associated with the managed node group.
capacity_typetextThe capacity type of your managed node group.
cluster_nametext=The name of the cluster that the managed node group resides in.
created_attimestamp with time zoneThe Unix epoch timestamp in seconds for when the managed node group was created.
disk_sizebigintThe disk size in the node group configuration.
healthjsonbThe health status of the node group.
instance_typesjsonbThe instance type that is associated with the node group. If the node group was deployed with a launch template, then this is null.
labelsjsonbThe Kubernetes labels applied to the nodes in the node group.
launch_templatejsonbIf a launch template was used to create the node group, then this is the launch template that was used.
modified_attimestamp with time zoneThe Unix epoch timestamp in seconds for when the managed node group was last modified.
node_roletextThe IAM role associated with your node group.
nodegroup_nametext=The name associated with an Amazon EKS managed node group.
partitiontextThe AWS partition in which the resource is located (aws, aws-cn, or aws-us-gov).
regiontextThe AWS Region in which the resource is located.
release_versiontextIf the node group was deployed using a launch template with a custom AMI, then this is the AMI ID that was specified in the launch template. For node groups that weren't deployed using a launch template, this is the version of the Amazon EKS optimized AMI that the node group was deployed with.
remote_accessjsonbThe remote access configuration that is associated with the node group. If the node group was deployed with a launch template, then this is null.
resourcesjsonbThe resources associated with the node group, such as Auto Scaling groups and security groups for remote access.
scaling_configjsonbThe scaling configuration details for the Auto Scaling group that is associated with your node group.
sp_connection_nametext=, !=, ~~, ~~*, !~~, !~~*Steampipe connection name.
sp_ctxjsonbSteampipe context in JSON form.
statustextThe current status of the managed node group.
subnetsjsonbThe subnets that were specified for the Auto Scaling group that is associated with your node group.
tagsjsonbA map of tags for the resource.
taintsjsonbThe Kubernetes taints to be applied to the nodes in the node group when they are created.
titletextTitle of the resource.
update_configjsonbThe node group update configuration.
versiontextThe Kubernetes version of the managed node group.

Export

This table is available as a standalone Exporter CLI. Steampipe exporters are stand-alone binaries that allow you to extract data using Steampipe plugins without a database.

You can download the tarball for your platform from the Releases page, but it is simplest to install them with the steampipe_export_installer.sh script:

/bin/sh -c "$(curl -fsSL https://steampipe.io/install/export.sh)" -- aws

You can pass the configuration to the command with the --config argument:

steampipe_export_aws --config '<your_config>' aws_eks_node_group