aws-k8s-tester

module
v0.4.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 8, 2019 License: Apache-2.0

README

WARNING: Pre-alpha. Do not use this in production. Only for testing.

aws-k8s-tester

Go Report Card Godoc Releases LICENSE

aws-k8s-tester eks

Make sure AWS credential is located in your machine:

cat ~/.aws/credentials

# confirm credential is valid
aws s3 ls

To install:

cd ${GOPATH}/src/github.com/aws/aws-k8s-tester
go install -v ./cmd/aws-k8s-tester
aws-k8s-tester eks create cluster -h

aws-k8s-tester eks create config --path /tmp/aws-k8s-tester-eks.yaml
aws-k8s-tester eks create cluster --path /tmp/aws-k8s-tester-eks.yaml

This will create an EKS cluster with a worker node (takes about 20 minutes).

Once cluster is created, check cluster state using AWS CLI:

aws eks describe-cluster \
  --name a8-eks-190225-nqsht \
  --query cluster.status

"ACTIVE"

Cluster states are persisted on disk as well. EKS tester uses this file to track status.

cat /tmp/aws-k8s-tester-eks.yaml

# or
less +FG /tmp/aws-k8s-tester-eks.yaml

Tear down the cluster (takes about 10 minutes):

aws-k8s-tester eks delete cluster --path /tmp/aws-k8s-tester-eks.yaml
aws-k8s-tester eks beta cluster

Assume the AWS account ID is granted beta access:

cd ${GOPATH}/src/github.com/aws/aws-k8s-tester
go install -v ./cmd/aws-k8s-tester

aws-k8s-tester eks create config --path /tmp/aws-k8s-tester-eks-beta.yaml
sed -i.bak 's#eks-resolver-url: ""#eks-resolver-url: https://api.beta.us-west-2.wesley.amazonaws.com#g' /tmp/aws-k8s-tester-eks-beta.yaml

aws-k8s-tester eks create cluster --path /tmp/aws-k8s-tester-eks-beta.yaml
aws-k8s-tester eks e2e tests

To test locally:

# set "AWS_K8S_TESTER_EKS_TAG" to avoid S3 bucket conflicts
# or just disable log uploads with "AWS_K8S_TESTER_EKS_UPLOAD_TESTER_LOGS=false"
cd ${GOPATH}/src/github.com/aws/aws-k8s-tester

# use darwin to run local tests on Mac
AWS_K8S_TESTER_EKS_KUBECTL_DOWNLOAD_URL=https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/$(go env GOOS)/amd64/kubectl \
  AWS_K8S_TESTER_EKS_KUBECONFIG_PATH=/tmp/aws-k8s-tester/kubeconfig \
  AWS_K8S_TESTER_EKS_AWS_IAM_AUTHENTICATOR_DOWNLOAD_URL=https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.7/2019-06-11/bin/$(go env GOOS)/amd64/aws-iam-authenticator \
  AWS_K8S_TESTER_EKS_KUBERNETES_VERSION=1.14 \
  AWS_K8S_TESTER_EKS_DESTROY_AFTER_CREATE=false \
  AWS_K8S_TESTER_EKS_ENABLE_WORKER_NODE_HA=true \
  AWS_K8S_TESTER_EKS_ENABLE_NODE_SSH=true \
  AWS_K8S_TESTER_EKS_ENABLE_WORKER_NODE_PRIVILEGED_PORT_ACCESS=true \
  AWS_K8S_TESTER_EKS_LOG_ACCESS=false \
  AWS_K8S_TESTER_EKS_UPLOAD_TESTER_LOGS=false \
  AWS_K8S_TESTER_EKS_UPLOAD_WORKER_NODE_LOGS=false \
  AWS_K8S_TESTER_EKS_WORKER_NODE_PRIVATE_KEY_PATH=~/.ssh/kube_aws_rsa \
  AWS_K8S_TESTER_EKS_WORKER_NODE_INSTANCE_TYPE=m3.xlarge \
  AWS_K8S_TESTER_EKS_WORKER_NODE_ASG_MIN=1 \
  AWS_K8S_TESTER_EKS_WORKER_NODE_ASG_MAX=1 \
  AWS_K8S_TESTER_EKS_WORKER_NODE_ASG_DESIRED_CAPACITY=1 \
  ./tests/ginkgo.sh

Directories

Path Synopsis
client module
cmd
aws-k8s-tester
aws-k8s-tester is a set of AWS test commands.
aws-k8s-tester is a set of AWS test commands.
aws-k8s-tester/csi
Package csi implements CSI related commands.
Package csi implements CSI related commands.
aws-k8s-tester/ec2
Package ec2 implements EC2 related commands.
Package ec2 implements EC2 related commands.
aws-k8s-tester/eks
Package eks implements EKS related commands.
Package eks implements EKS related commands.
aws-k8s-tester/etcd
Package etcd implements etcd commands.
Package etcd implements etcd commands.
aws-k8s-tester/version
Package version implements version command.
Package version implements version command.
e2e
tester Module
e2e2 module
Package ec2config defines EC2 configuration.
Package ec2config defines EC2 configuration.
plugins
Package plugins defines various plugins to install on EC2 creation, using init scripts or EC2 user data.
Package plugins defines various plugins to install on EC2 creation, using init scripts or EC2 user data.
eks
Package eks implements kubetest deployer interface for 'Amazon Elastic Container Service for Kubernetes'
Package eks implements kubetest deployer interface for 'Amazon Elastic Container Service for Kubernetes'
s3
Package s3 implements S3 plugin.
Package s3 implements S3 plugin.
Package eksconfig defines EKS test configuration.
Package eksconfig defines EKS test configuration.
Package ekstester defines interface EKS cluster tester and deployer.
Package ekstester defines interface EKS cluster tester and deployer.
Package etcdconfig defines etcd test configuration.
Package etcdconfig defines etcd test configuration.
plugins
Package plugins implements etcd plugins.
Package plugins implements etcd plugins.
internal
csi
Package csi implements csi test operations.
Package csi implements csi test operations.
ec2
Package ec2 implements testing utilities using EC2.
Package ec2 implements testing utilities using EC2.
etcd
Package etcd implements etcd test operations.
Package etcd implements etcd test operations.
kms
Package kms implements KMS operations.
Package kms implements KMS operations.
ssh
Package ssh implements various SSH commands.
Package ssh implements various SSH commands.
k8s-tester module
aqua Module
armory Module
clusterloader Module
cni Module
configmaps Module
conformance Module
csi-ebs Module
csi-efs Module
csrs Module
epsagon Module
falco Module
falcon Module
fluent-bit Module
helm Module
jobs-echo Module
jobs-pi Module
kubecost Module
nlb-guestbook Module
php-apache Module
secrets Module
splunk Module
stress Module
sysdig Module
tester Module
vault Module
wordpress Module
Package kmsconfig configures KMS tests.
Package kmsconfig configures KMS tests.
Package kubetest implements various tests, meant to be contributed back to upstream.
Package kubetest implements various tests, meant to be contributed back to upstream.
eks
Package eks implements 'kubetest' deployer interface.
Package eks implements 'kubetest' deployer interface.
kubetest2 module
pkg
awsapi
Package awsapi implements wrappers for AWS API calls.
Package awsapi implements wrappers for AWS API calls.
awsapi/ec2
Package ec2 implements various AWS EC2 operations.
Package ec2 implements various AWS EC2 operations.
awsapi/ec2/instance-types
instance-types auto-generates EC2 instance types from AWS API.
instance-types auto-generates EC2 instance types from AWS API.
awsapi/ec2/metadata
Package metadata queries the EC2 metadata.
Package metadata queries the EC2 metadata.
ctxhandler
Package ctxhandler implements context handler.
Package ctxhandler implements context handler.
fileutil
Package fileutil implements file utilities.
Package fileutil implements file utilities.
httputil
Package httputil implements various HTTP operations.
Package httputil implements various HTTP operations.
logutil
Package logutil implements various log utilities.
Package logutil implements various log utilities.
Package storagetester defines Kubernetes storage test operations.
Package storagetester defines Kubernetes storage test operations.
utils module
Package version defines aws-k8s-tester version.
Package version defines aws-k8s-tester version.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL