Create a terraform.tfvars
file and adjust the settings appropriately. Specifically, you will:
- Need to generate an API Key
- Choose the appropriate package for your linode
- NOTE: The packages set as the default in the
terraform.tfvars.sample
meet our minimum requirements. We do not recommend going below those, as that may prevent ComputeStacks from booting.
- NOTE: The packages set as the default in the
- Specify how many nodes you want (we recommend 1, 3, or 5). If you need more resources, consider increasing the plan size, or creating multiple availability zones.
- Choose your region
Copy providers.tf.sample
to providers.tf
and adjust.
You may wish to automatically configure your DNS records by using a terraform dns provider. Included here is an example file using CloudFlare, dns_cloudflare.tf.sample
. You may copy that to dns_cloudflare.tf
and adjust accordingly. You will also need to adjust your providers.tf
file to include the CloudFlare modules.
By default, you will see the required DNS settings under result/
.
Before proceeding, ensure you have terraform installed, and then run:
terraform init
terraform apply
After terraform runs, you will see 2 newly created files under the result/
directory.
dns_settings.txt
| If you did not configure DNS to be automatically configured, you will need to manually apply these settings in your DNS manager.inventory.yml
| You will need this later when configuring Ansible.
Note: Once your nodes perform their initial boot sequence, and before running ansible: Disable the Linode Network Helper.
If you're only deploying a single node, you do not need a floating IP. This is only useful when you have 3 or more nodes and would like automatic failover of the load balancer.
To add a floating IP, you will need to open a support ticket with Linode from within your cloud manager, and ask them to allocate an additional IP. For justification, you can explain to them that you need a shared IP for your new cluster, in order to enable high availability.
Once you have been allocated an additional IP, you will need to:
- Enable IP Sharing on that IP Address with all of your nodes.
- Update your
inventory.yml
file with the new ip. - Ensure the Linode Network Helper is disabled for the nodes.
To complete the setup, please run our Ansible Script using the newly generated inventory.yml
file.