Skip to content

aws/aws-k8s-tester

Folders and files

NameName
Last commit message
Last commit date
Feb 17, 2025
Jan 29, 2021
Jan 9, 2025
Jan 28, 2025
Jan 7, 2025
Feb 27, 2025
Feb 28, 2025
Jul 15, 2020
Dec 24, 2024
Oct 9, 2018
Oct 30, 2018
Jan 8, 2025
Jan 28, 2025
Oct 9, 2018
Jan 9, 2025
Oct 9, 2018
Jan 9, 2025
Jan 8, 2025
Jan 30, 2025
Jan 30, 2025

Tools for testing Kubernetes on AWS

Installation

This project will use rolling releases going forward; we recommend fetching the latest commit:

go install github.com/aws/aws-k8s-tester/...@HEAD

kubetest2 deployers and testers for EKS

Usage

Auto-detect cluster version

The deployers will search for a file called kubernetes-version.txt on your PATH. This file should contain a valid tag for a Kubernetes release. The --kubernetes-version flag can be omitted if this file exists.


eksctl deployer

This deployer is a thin wrapper around eksctl.

The simplest usage is:

kubetest2 \
  eksctl \
  --kubernetes-version=X.XX \
  --up \
  --down \
  --test=exec \
  -- echo "Hello world"

Additional flags

  • --instance-types - comma-separated list of instance types to use for nodes
  • --ami - AMI ID for nodes
  • --nodes - number of nodes
  • --region - AWS region

eksapi deployer

This deployer calls the EKS API directly, instead of using CloudFormation for EKS resources.

The simplest usage is:

kubetest2 \
  eksapi \
  --kubernetes-version=X.XX \
  --up \
  --down \
  --test=exec \
  -- echo "Hello world"

Additional flags

  • --instance-types - comma-separated list of instance types to use for nodes
  • --ami - AMI ID for nodes
  • --nodes - number of nodes
  • --region - AWS region
  • --endpoint-url - Override the EKS endpoint URL
  • --cluster-role-service-principal - Additional service principal that can assume the cluster IAM role.

multi tester

This tester wraps multiple executions of other testers.

Tester argument groups are separated by --, with the first group being passed to the multi tester itself.

The first positional argument of each subsequent group should be the name of a tester.

kubetest2 \
  noop \
  --test=multi \
  -- \
  --fail-fast=true \
  -- \
  ginkgo \
  --focus-regex='\[Conformance\]' \
  --parallel=4 \
  -- \
  exec \
  go test ./my/test/package