The following steps will quickly deploy a Rancher Server on AWS with a single node cluster attached.

Prerequisites

Note Deploying to Amazon AWS will incur charges.

  • Amazon AWS Account: An Amazon AWS Account is required to create resources for deploying Rancher and Kubernetes.
  • Amazon AWS Access Key: Use this link to follow a tutorial to create an Amazon AWS Access Key if you don’t have one yet.
  • Amazon AWS Key Pair Use this link and follow instructions to create a Key Pair.
  • Install Terraform: Used to provision the server and cluster in Amazon AWS.
  • Install the RKE terraform provider. You will need to download the binary for the Terraform provider for RKE that corresponds to the operating system of your workstation. Then you will need to move the binary into your Terraform plugin directory. The name of the directory will depend on your operating system. For more information how to install Terraform plugins, refer to the Terraform documentation.

Getting Started

  1. Clone Rancher Quickstart to a folder using git clone https://github.com/rancher/quickstart.

  2. Go into the AWS folder containing the terraform files by executing cd quickstart/aws.

  3. Rename the terraform.tfvars.example file to terraform.tfvars.

  4. Edit terraform.tfvars and customize the following variables:

    • aws_access_key - Amazon AWS Access Key
    • aws_secret_key - Amazon AWS Secret Key
    • rancher_server_admin_password - Admin password for created Rancher server
  5. Optional: Modify optional variables within terraform.tfvars. See the Quickstart Readme and the AWS Quickstart Readme for more information. Suggestions include:

    • aws_region - Amazon AWS region, choose the closest instead of the default
    • prefix - Prefix for all created resources
    • instance_type - EC2 instance size used, minimum is t3a.medium but t3a.large or t3a.xlarge could be used if within budget
    • ssh_key_file_name - Use a specific SSH key instead of ~/.ssh/id_rsa (public key is assumed to be ${ssh_key_file_name}.pub)
  6. Run terraform init.

  7. To initiate the creation of the environment, run terraform apply --auto-approve. Then wait for output similar to the following:

    Apply complete! Resources: 16 added, 0 changed, 0 destroyed.
    
    Outputs:
    
    rancher_node_ip = xx.xx.xx.xx
    rancher_server_url = https://ec2-xx-xx-xx-xx.compute-1.amazonaws.com
    workload_node_ip = yy.yy.yy.yy
    
  8. Paste the rancher_server_url from the output above into the browser. Log in when prompted (default username is admin, use the password set in rancher_server_admin_password).

Result

Two Kubernetes clusters are deployed into your AWS account, one running Rancher Server and the other ready for experimentation deployments.

What’s Next?

Use Rancher to create a deployment. For more information, see Creating Deployments.

Destroying the Environment

  1. From the quickstart/aws folder, execute terraform destroy --auto-approve.

  2. Wait for confirmation that all resources have been destroyed.