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, statusfrom aws_eks_node_group;
select nodegroup_name, arn, created_at, cluster_name, statusfrom 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, statusfrom aws_eks_node_groupwhere status <> 'ACTIVE';
select nodegroup_name, arn, created_at, cluster_name, statusfrom aws_eks_node_groupwhere 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 healthfrom aws_eks_node_group;
select nodegroup_name, cluster_name, healthfrom 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_templatefrom aws_eks_node_group;
select nodegroup_name, cluster_name, launch_templatefrom aws_eks_node_group;
Schema for aws_eks_node_group
Name | Type | Operators | Description |
---|---|---|---|
_ctx | jsonb | Steampipe context in JSON form. | |
account_id | text | =, !=, ~~, ~~*, !~~, !~~* | The AWS Account ID in which the resource is located. |
akas | jsonb | Array of globally unique identifier strings (also known as) for the resource. | |
ami_type | text | The AMI type that was specified in the node group configuration. | |
arn | text | The Amazon Resource Name (ARN) associated with the managed node group. | |
capacity_type | text | The capacity type of your managed node group. | |
cluster_name | text | = | The name of the cluster that the managed node group resides in. |
created_at | timestamp with time zone | The Unix epoch timestamp in seconds for when the managed node group was created. | |
disk_size | bigint | The disk size in the node group configuration. | |
health | jsonb | The health status of the node group. | |
instance_types | jsonb | The instance type that is associated with the node group. If the node group was deployed with a launch template, then this is null. | |
labels | jsonb | The Kubernetes labels applied to the nodes in the node group. | |
launch_template | jsonb | If a launch template was used to create the node group, then this is the launch template that was used. | |
modified_at | timestamp with time zone | The Unix epoch timestamp in seconds for when the managed node group was last modified. | |
node_role | text | The IAM role associated with your node group. | |
nodegroup_name | text | = | The name associated with an Amazon EKS managed node group. |
partition | text | The AWS partition in which the resource is located (aws, aws-cn, or aws-us-gov). | |
region | text | The AWS Region in which the resource is located. | |
release_version | text | If 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_access | jsonb | The remote access configuration that is associated with the node group. If the node group was deployed with a launch template, then this is null. | |
resources | jsonb | The resources associated with the node group, such as Auto Scaling groups and security groups for remote access. | |
scaling_config | jsonb | The scaling configuration details for the Auto Scaling group that is associated with your node group. | |
sp_connection_name | text | =, !=, ~~, ~~*, !~~, !~~* | Steampipe connection name. |
sp_ctx | jsonb | Steampipe context in JSON form. | |
status | text | The current status of the managed node group. | |
subnets | jsonb | The subnets that were specified for the Auto Scaling group that is associated with your node group. | |
tags | jsonb | A map of tags for the resource. | |
taints | jsonb | The Kubernetes taints to be applied to the nodes in the node group when they are created. | |
title | text | Title of the resource. | |
update_config | jsonb | The node group update configuration. | |
version | text | The 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