Skip to content

AWS Provider

The AWS provider creates and manages managed Amazon EKS clusters via eksctl. It supports the full cluster lifecycle (create, delete, start, stop, list, info) and is the only provider available for the EKS distribution.

[!NOTE] The AWS provider only supports the EKS distribution. For local Docker-based clusters, see the Docker Provider.

  1. AWS account — with permissions to create EKS clusters, IAM roles, EC2 instances, and VPCs
  2. AWS credentials — configured via aws configure, environment variables, or an instance profile:
    Terminal window
    export AWS_ACCESS_KEY_ID=your-access-key
    export AWS_SECRET_ACCESS_KEY=your-secret-key
    export AWS_REGION=us-east-1
    KSail defaults to reading the AWS region from AWS_REGION. If you also use other AWS tooling that expects AWS_DEFAULT_REGION, you may set both variables to the same value.
  3. Docker — required locally for the ksail CLI
# yaml-language-server: $schema=https://raw.githubusercontent.com/devantler-tech/ksail/main/schemas/ksail-config.schema.json
apiVersion: ksail.io/v1alpha1
kind: Cluster
metadata:
name: eks-default
spec:
cluster:
distribution: EKS
provider: AWS

All cluster-specific metadata (region, version, nodegroups, addons) lives in eks.yaml — not in ksail.yaml. See the EKS distribution guide for the full eks.yaml configuration reference.

Outside a KSail project, cluster start and cluster stop can use the selected kubeconfig context without --name or --provider. Both demo.us-west-2.eksctl.io and identity-qualified contexts such as operator@demo.us-west-2.eksctl.io select the EKS cluster demo in us-west-2.

Terminal window
ksail cluster start
ksail cluster stop

An explicit --name or a loaded project configuration takes precedence over context-based name detection. Outside a project, KSail restores the AWS environment-variable mappings saved for the selected context’s cluster and region. That mapped region variable can override the context’s region; when it is unset, the context’s region is used. Mappings or contexts for other regions do not override that selection. An explicit name still requires an unambiguous region; it does not inherit an unrelated selected context’s region.

Context detection identifies the target. Start and stop still require KSail’s persisted ownership record and a matching live AWS cluster identity before changing node-group capacity.

Property Value
Supported distribution EKS
Infrastructure type Cloud (managed AWS)
Local registries ❌ Not supported
Local mirrors ❌ Not supported (use external URLs)
CNI Amazon VPC CNI (provided by default)
CSI Amazon EBS CSI Driver (provided by default)
LoadBalancer support Built-in (AWS-managed)
AWS Load Balancer Controller 🚧 Optional / not installed by KSail
  • Cloud provider — local Docker containers (mirrors, registries) are inaccessible from the cluster
  • Only one distribution is supported: EKS