You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.1 KiB

  1. ## Kubernetes on AWS with Terraform
  2. **Overview:**
  3. This project will create:
  4. * VPC with Public and Private Subnets in # Availability Zones
  5. * Bastion Hosts and NAT Gateways in the Public Subnet
  6. * A dynamic number of masters, etcd, and worker nodes in the Private Subnet
  7. * even distributed over the # of Availability Zones
  8. * AWS ELB in the Public Subnet for accessing the Kubernetes API from the internet
  9. **Requirements**
  10. - Terraform 0.8.7 or newer
  11. **How to Use:**
  12. - Export the variables for your AWS credentials or edit credentials.tfvars:
  13. ```
  14. export aws_access_key="xxx"
  15. export aws_secret_key="yyy"
  16. export aws_ssh_key_name="zzz"
  17. ```
  18. - Update contrib/terraform/aws/terraform.tfvars with your data
  19. - Run with `terraform apply -var-file="credentials.tfvars"` or `terraform apply` depending if you exported your AWS credentials
  20. - Once the infrastructure is created, you can run the kargo playbooks and supply inventory/hosts with the `-i` flag.
  21. **Architecture**
  22. Pictured is an AWS Infrastructure created with this Terraform project distributed over two Availability Zones.
  23. ![AWS Infrastructure with Terraform ](docs/aws_kargo.png)