Skip to main content

Preflight Checker CLI for EKS Auto Mode - assess cluster readiness for migration

Project description

EKS Auto Mode Preflight Checker CLI

PyPI version PyPI Supported Python Versions Downloads

A comprehensive command-line tool designed to assess your Amazon EKS cluster's readiness for migration to EKS Auto Mode. This tool performs automated compatibility checks across 11 key areas including Kubernetes version, IAM configurations, instance types, and workload compatibility to ensure a smooth transition to EKS Auto Mode's fully managed compute experience.

Features

  • 11 Compatibility Checks: Version, IAM, instances, Windows nodes, SSH/SSM access, custom AMIs, user data, addons, autoscaling, identity, and load balancers
  • Multiple Output Formats: Table, JSON, YAML, and HTML reports
  • CI/CD Ready: Proper exit codes for automation
  • Selective Testing: Run specific checks or all checks

AWS Permissions

Required IAM permissions:

  • eks:DescribeCluster, eks:ListNodegroups, eks:DescribeNodegroup
  • eks:ListAddons, eks:DescribeAddon
  • ec2:DescribeInstances, ec2:DescribeLaunchTemplateVersions
  • autoscaling:DescribeAutoScalingGroups
  • iam:ListAttachedRolePolicies, iam:GetRole

Installation

python3 -m venv /tmp/.venv
source /tmp/.venv/bin/activate
pip install preflight-checker-cli-for-eks-auto-mode
eks-automode-cli --version

Usage

# Basic check
eks-automode-cli check -c my-cluster --region us-east-1

# JSON output
eks-automode-cli check -c my-cluster --region us-east-1 --output json

# HTML report
eks-automode-cli check -c my-cluster --region us-east-1 --output html

# Run specific checks
eks-automode-cli check -c my-cluster --checks version,iam,instances

# Verbose output with recommendations
eks-automode-cli check -c my-cluster --region us-east-1 --verbose

# Quiet mode (exit codes only)
eks-automode-cli check -c my-cluster --region us-east-1 --quiet

# List available checks
eks-automode-cli list-checks

EKS Auto Mode Readiness Status

  • Ready - Cluster is ready for EKS Auto Mode migration
  • Requires Changes - Minor configurations needed before migration
  • Not Ready - Critical blockers detected (e.g., custom AMIs)
  • Error - Assessment could not be completed

Compatibility Checks

Check Description
version Kubernetes 1.29+ requirement
iam Cluster role and Auto Mode policies
instances Instance type compatibility
windows Windows node detection
ssh SSH/SSM access detection
amis Custom AMI usage
userdata Custom node bootstrapping
addons Managed addons compatibility
autoscaling Existing autoscaling detection
identity IRSA v1 vs Pod Identity
loadbalancers ALB and NLB detection

Output Examples

Table Output

Check         Status    Details
------------  --------  ----------------------------------
version       PASS      Kubernetes 1.29 supported
iam           PASS      All required policies attached
instances     FAIL      2 nano instances found
identity      WARN      Using IRSA v1 (OIDC)

JSON Output

{
  "cluster": "my-cluster",
  "overall_status": "REQUIRES_CHANGES",
  "checks": {
    "version": {"status": "PASS", "details": "Kubernetes 1.29 supported"},
    "instances": {"status": "FAIL", "details": "2 nano instances found"}
  }
}

Development

# Install from source
git clone <repository-url>
cd eks-automode-preflight-checker-cli
pip install -e .

Support & Feedback

This project is maintained by AWS Solution Architects. It is not part of an AWS service and support is provided best-effort by the maintainers. To post feedback, submit feature ideas, or report bugs, please use the Issues section of this repo. If you are interested in contributing, please see the Contribution guide.

License

Apache-2.0

Security

See Threat Model for security considerations.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file preflight_checker_cli_for_eks_auto_mode-0.1.0.tar.gz.

File metadata

File hashes

Hashes for preflight_checker_cli_for_eks_auto_mode-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4ccd80dfa50e6b61170e045db4a2e73053f6d06fc00e5b8ee1915de4e3d6fdd3
MD5 41d0767ff31cca8c9ee7a9d2ae33e02b
BLAKE2b-256 f50764e7c05e2412276e974f007c33e38a8adcd4963c130b95f58f5035471a4d

See more details on using hashes here.

File details

Details for the file preflight_checker_cli_for_eks_auto_mode-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for preflight_checker_cli_for_eks_auto_mode-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 50539dd4f7884afb94f951604950f1ba0413b32720e190da30a2676de2ebb700
MD5 10f7ed8891d069e1579a199cba0279af
BLAKE2b-256 9fb47263172d9145680dec81217f0f92b937322fe18a3cbe93853012d7d3cfdb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page