Skip to main content

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

Project description

i ju# Preflight Check CLI for EKS Auto Mode

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

Recommended: System-wide Installation

pip install preflight-check-cli-for-eks-auto-mode
eks-automode-cli --version

CLI installed to: /usr/local/bin/eks-automode-cli (macOS/Linux)

Virtual Environment (Isolated)

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

CLI installed to: /tmp/.venv/bin/eks-automode-cli

User Installation

pip install --user preflight-check-cli-for-eks-auto-mode
eks-automode-cli --version

CLI installed to: ~/.local/bin/eks-automode-cli

Note: The eks-automode-cli command becomes available in your terminal PATH after installation. System-wide installation is recommended for ease of use.

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_check_cli_for_eks_auto_mode-0.1.0.tar.gz.

File metadata

File hashes

Hashes for preflight_check_cli_for_eks_auto_mode-0.1.0.tar.gz
Algorithm Hash digest
SHA256 58cb3b897235f1a1e129914415af29567a5809a82b9b46fabc813332d04d5275
MD5 f14fa0bd10e102d97e77d3d5ffa7ecf5
BLAKE2b-256 4240362147142a75e02797b3570951e994d37e9f5846ade0cbd9467478023680

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for preflight_check_cli_for_eks_auto_mode-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fba195560149f414ad63082b2d366d32c56774dafa89e9c9ed68e203ce3ba720
MD5 bb7a4e61fe81a161bfd70e188d176197
BLAKE2b-256 4ac0820fca00b0f7a354a5dfb06071fb80b00b4df63ad1af683737b2935dfb9a

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