Skip to main content

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

Project description

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.1.tar.gz.

File metadata

File hashes

Hashes for preflight_check_cli_for_eks_auto_mode-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7b1ad1b278a3360f239417d138075785af4faa89ff3e9fb603ed96f7ba6ae6d7
MD5 1d0c05d96ba74ea0ce57e4c3114853ca
BLAKE2b-256 866ca879114801b8719101490bdf0a0e713fe326b794821dacd7636bbe175a11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for preflight_check_cli_for_eks_auto_mode-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 341bc85ada9b9c0592ed70b16608edde3d4b765d2522285ba3e1c8ace4787784
MD5 a018c1747e8d2212a501bcd28365fbfa
BLAKE2b-256 0c6861a5a4c555c6569ed4a0d50e8e1e4cb78b428967be082f0d520fd5ba8372

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