Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aws/aws-k8s-tester
Tools for testing Kubernetes on AWS
https://github.com/aws/aws-k8s-tester
Last synced: 6 days ago
JSON representation
Tools for testing Kubernetes on AWS
- Host: GitHub
- URL: https://github.com/aws/aws-k8s-tester
- Owner: aws
- License: apache-2.0
- Created: 2018-10-09T21:54:45.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2025-01-30T23:55:28.000Z (15 days ago)
- Last Synced: 2025-02-01T20:32:45.798Z (13 days ago)
- Language: Go
- Homepage:
- Size: 44.4 MB
- Stars: 170
- Watchers: 28
- Forks: 84
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG/CHANGELOG-0.0.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-eks - aws-k8s-tester - Implements [`k8s.io/test-infra/kubetest2`](https://github.com/kubernetes/test-infra/tree/master/kubetest2), creates/deletes testing EKS cluster with various add-ons. (Cluster management tools)
README
# 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
```