Skip to content

Latest commit

 

History

History

k3s-setup-new

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Terraform Equinix Labs K3s Setup Example

This is an example of how to utilize the root module to deploy the invite-from-csv module and the k3s module. In this example, each user identified in the users.csv file (see users.csv.example) will have a project provisioned and an invitation sent by email to join that project. Kubernetes will then be provisioned into each user's project with the configurations set within the variables.tf file.

Requirements

Name Version
terraform >= 1.3
equinix >= 1.10.0

Providers

No providers.

Modules

Name Source Version
deploy_k3s ../../ n/a
workshop_setup ../../ n/a

Resources

No resources.

Inputs

Name Description Type Default Required
metal_auth_token Equinix Metal user api token. string n/a yes
metal_organization_id Equinix Metal organization id string n/a yes
enable_k3s Enable K3s module bool true no
enable_workshop_setup Enable Workshop Setup module bool true no
global_ip Enables a global anycast IPv4 that will be shared for all clusters in all metros string false no
k3s_config Module configuration for K3s module
list(object({
name = string
metro = string
plan_control_plane = string
plan_node = string
node_count = number
k3s_ha = bool
os = string
control_plane_hostnames = string
node_hostnames = string
custom_k3s_token = string
ip_pool_count = number
k3s_version = string
metallb_version = string
}))
[
{
"control_plane_hostnames": "k3s-cp",
"custom_k3s_token": "",
"ip_pool_count": 1,
"k3s_ha": false,
"k3s_version": "v1.4.stable.1",
"metallb_version": "",
"metro": "SV",
"name": "k3s-cluster",
"node_count": 3,
"node_hostnames": "k3s-node",
"os": "debian_11",
"plan_control_plane": "c3.small.x86",
"plan_node": "c3.small.x86"
}
]
no

Outputs

Name Description
deploy_k3s_outputs Outputs of the Deploy K3s module
workshop_setup_outputs Outputs of the Workshop Setup module