8fc4de0ead | ||
---|---|---|
.. | ||
.gitignore | ||
README.md | ||
consul.tf | ||
main.tf | ||
outputs.tf | ||
providers.tf | ||
test-servers.tf | ||
user-data-client.sh | ||
user-data-server.sh | ||
variables.tf |
README.md
Terraform Consul Load Testing
How to use
- Build an image with the desired Consul version and a load test image in the Packer folder here.
- Create your own
vars.tfvars
file in this directory. - Place the appropriate AMI IDs in the
consul_ami_id
andtest_server_ami
variables. If no AMI ID is specified it will default to pulling from latest. - Set either
consul_version
orconsul_download_url
. If neither is set it will default to utilizing Consul 1.9.0 - AWS Variables are set off of environment variables. Make sure to export necessary variables shown here.
- Run
terraform plan -var-file=vars.tfvars
, and thenterraform apply -var-file=vars.tfvars
when ready. - Upon completion k6 should run and push metrics to the desired Datadog dashboard.
An example of a vars.tfvars
:
vpc_name = "consul-test-vpc"
vpc_cidr = "11.0.0.0/16"
public_subnet_cidrs = ["11.0.1.0/24", "11.0.3.0/24"]
private_subnet_cidrs = ["11.0.2.0/24"]
vpc_az = ["us-east-2a", "us-east-2b"]
test_instance_type = "t2.micro"
test_server_ami = "ami-0ad7711e837ebe166"
cluster_name = "ctest"
test_public_ip = "true"
instance_type = "t2.micro"
ami_owners = ["******"]
consul_ami_id = "ami-016d80ff5472346f0"
Customization
All customization for infrastructure that is available can be found by looking through the variables.tf
file.
How to SSH
After terraform apply
is run Terraform should create a keys/
directory which will give access to all instances created.
For example, ssh -i "keys/[cluster-name]-spicy-banana.pem" ubuntu@[IPADDRESS]