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 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.
- Install Terraform: Used to provision the server and cluster in Amazon AWS.
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
terraform.tfvarsand 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
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.xlargecould be used if within budget
add_windows_node- If true, an additional Windows worker node is added to the workload cluster
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.yy
rancher_server_urlfrom the output above into the browser. Log in when prompted (default username is
admin, use the password set in
ssh to the Rancher Server using the
id_rsakey generated in
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.
Use Rancher to create a deployment. For more information, see Creating Deployments.
Destroying the Environment
terraform destroy --auto-approve.
Wait for confirmation that all resources have been destroyed.