Rancher AWS Quick Start Guide
The following steps will quickly deploy a Rancher server on AWS in a single-node K3s Kubernetes cluster, with a single-node downstream Kubernetes cluster attached.
Note: The intent of these guides is to quickly launch a sandbox that you can use to evaluate Rancher. These guides are not intended for production environments. For comprehensive setup instructions, see Installation.
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.
- IAM Policy created: Defines the permissions an account attached with this policy has.
- Install Terraform: Used to provision the server and cluster in Amazon AWS.
Example IAM Policy
The AWS module just creates an EC2 KeyPair, an EC2 SecurityGroup and an EC2 instance. A simple policy would be:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:*",
"Resource": "*"
}
]
}
Getting Started
Clone Rancher Quickstart to a folder using
git clone https://github.com/rancher/quickstart
.Go into the AWS folder containing the Terraform files by executing
cd quickstart/rancher/aws
.Rename the
terraform.tfvars.example
file toterraform.tfvars
.Edit
terraform.tfvars
and customize the following variables:aws_access_key
- Amazon AWS Access Keyaws_secret_key
- Amazon AWS Secret Keyrancher_server_admin_password
- Admin password for created Rancher server
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 (`us-east-1`)
- `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
- `add_windows_node` - If true, an additional Windows worker node is added to the workload clusterRun
terraform init
.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://rancher.xx.xx.xx.xx.sslip.io
workload_node_ip = yy.yy.yy.yyPaste the
rancher_server_url
from the output above into the browser. Log in when prompted (default username isadmin
, use the password set inrancher_server_admin_password
).ssh to the Rancher server using the
id_rsa
key generated inquickstart/rancher/aws
.
Result
Two Kubernetes clusters are deployed into your AWS account, one running Rancher Server and the other ready for experimentation deployments. Please note that while this setup is a great way to explore Rancher functionality, a production setup should follow our high availability setup guidelines. SSH keys for the VMs are auto-generated and stored in the module directory.
What's Next?
Use Rancher to create a deployment. For more information, see Creating Deployments.
Destroying the Environment
From the
quickstart/rancher/aws
folder, executeterraform destroy --auto-approve
.Wait for confirmation that all resources have been destroyed.