This in-line module deploys the K3s/RKE2 cluster.
-
Terraform tries to replace all variables within the templated script, so it fails
As a workaround, an extra dollar symbol ($) has been added to the variables that doesn't need to be replaced by terraform templating.
-
ServiceLB disabled
--disable servicelb
is required for metallb to work
Name | Version |
---|---|
terraform | >= 1.3 |
equinix | >= 1.14.2 |
random | >= 3.5.1 |
Name | Version |
---|---|
equinix | >= 1.14.2 |
random | >= 3.5.1 |
No modules.
Name | Type |
---|---|
equinix_metal_bgp_session.all_in_one | resource |
equinix_metal_bgp_session.control_plane_master | resource |
equinix_metal_bgp_session.control_plane_second | resource |
equinix_metal_bgp_session.control_plane_third | resource |
equinix_metal_device.all_in_one | resource |
equinix_metal_device.control_plane_master | resource |
equinix_metal_device.control_plane_others | resource |
equinix_metal_device.nodes | resource |
equinix_metal_reserved_ip_block.api_vip_addr | resource |
equinix_metal_reserved_ip_block.ingress_addr | resource |
equinix_metal_reserved_ip_block.ip_pool | resource |
random_string.random_password | resource |
random_string.random_token | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
metal_metro | Equinix Metal Metro | string |
n/a | yes |
metal_project_id | Equinix Metal Project ID | string |
n/a | yes |
cluster_name | Cluster name | string |
"Cluster" |
no |
control_plane_hostnames | Control plane hostname prefix | string |
"cp" |
no |
custom_rancher_password | Rancher initial password (autogenerated if not provided) | string |
null |
no |
custom_token | Token used for nodes to join the cluster (autogenerated otherwise) | string |
null |
no |
deploy_demo | Deploys a simple demo using a global IP as ingress and a hello-kubernetes pods | bool |
false |
no |
global_ip_cidr | Global Anycast IP that will be mapped on all metros via BGP | string |
null |
no |
ha | HA (aka 3 control plane nodes) | bool |
false |
no |
ip_pool_count | Number of public IPv4 per metro to be used as LoadBalancers with MetalLB (it needs to be power of 2 between 0 and 256 as required by Equinix Metal) | number |
0 |
no |
kube_version | K3s/RKE2 version to be installed. Empty for latest K3s | string |
"" |
no |
metallb_version | MetalLB version to be installed. Empty for latest | string |
"" |
no |
node_count | Number of nodes | number |
"0" |
no |
node_hostnames | Node hostname prefix | string |
"node" |
no |
os | Operating system | string |
"debian_11" |
no |
plan_control_plane | Control plane type/size | string |
"c3.small.x86" |
no |
plan_node | Node type/size | string |
"c3.small.x86" |
no |
rancher_flavor | Rancher flavor to be installed (prime, latest, stable or alpha). Empty to not install it | string |
"" |
no |
rancher_version | Rancher version to be installed (vX.Y.Z). Empty for latest | string |
"" |
no |
Name | Description |
---|---|
ingress_ip | Ingress IP |
ip_pool_cidr | IP Pool for LoadBalancer SVCs |
kube_api_ip | K8s API IPs |
nodes_details | Nodes external and internal IPs |
rancher_address | Rancher URL |
rancher_password | Rancher initial password |