Setup - AWS
Setting up a Kubernetes Cluster with AWS
- 1.AWS account
- 2.CLI and AWS credentials configured
- 3.AWS IAM Authenticator
wget(required for EKS module)
git clone https://gitlab.com/thorchain/devops/cluster-launcher
brew install terraform
In order for Terraform to run operations on your behalf, you must install and configure the AWS CLI tool. ****To install the AWS CLI, follow these instructions, or choose a package manager based on your operating system.
You will be asked for you AWS access credentials (retrieve from AWS IAM from the AWS web console.)
IAM -> User -> Security Credentials -> Create Access Key.
Make sure you handle your secrets securely!
Use the commands below to deploy an AWS EKS cluster. You can run the make command that automates those command for you like this:
During the deploy, you will be asked to enter information about your cluster:
Note: AWS EKS is not available in some regions
terraform plan # to see the plan
Final success message:
Apply complete! Resources: 30 added, 0 changed, 0 destroyed.
If you are a returning node operator and you wish to use the same node name, the Cloudwatch log files from your previous session will block this step. You need to manually delete the logs from your console:
Cloudwatch / Cloudwatch Logs / Log Groups -> "delete"
Deploying a cluster takes ~10 minutes
This is done automatically during provisioning. To configure authentication from the command line, use the following command. It will get the access credentials for your cluster and automatically configure kubectl in case you need to to manually reconfigure kubectl.
Or get your kubeconfig file manually:
(cd aws && aws eks --region $(terraform output -raw region) update-kubeconfig --name $(terraform output -raw cluster_name))
To verify, run this, and check the status is "Ready":
kubectl get nodes
You are now ready to deploy a THORNode.
Once your node is running, use the following command to automatically backup the Persistent Volumes for your Kubernetes cluster. This may help in recovering your node in the event of a disaster.