k3s
Kab1r/k3s/module
Terraform module to install K3S on all given instances
terraform-module-k3s !Terraform Version     Terraform module which creates a k3s cluster, with multi-server and annotations/labels/taints management features. Usage ``` hcl module "k3s" { source = "xunleii/k3s/module" k3s_version = "v1.0.0" name = "my.k3s.local" cidr = { pods = "10.0.0.0/16" services = "10.1.0.0/16" } drain_timeout = "30s" managed_fields = ["label", "taint"] global_flags = [ "--tls-san k3s.my.domain.com" ] servers = { # The node name will be automatically provided by # the module using the
| Name | Type | Description | Default |
|---|---|---|---|
| depends_on_ | string | Resouce dependency of this module. | required |
| root_server_ip | string | required | |
| servers | map(any) | K3s server nodes definition. The key is used as node name if no name is provided | required |
| global_flags | list(string) | Add additional installation flags, used by all nodes (see https://rancher.com/do | [] |
| managed_fields | list(string) | List of fields which must be managed by this module (can be annotation, label an | [
"annotation",
"label",
"taint"
] |
| cluster_domain | string | K3s cluster domain name (see https://rancher.com/docs/k3s/latest/en/installation | "cluster.local" |
| generate_ca_certificates | bool | If true, this module will generate the CA certificates (see https://github.com/r | true |
| drain_timeout | string | The length of time to wait before giving up the node draining. Infinite by defau | "0s" |
| separator | string | Separator used to separates node name and field name (used to manage annotations | "|" |
| use_sudo | bool | Whether or not to use kubectl with sudo during cluster setup. | false |
| k3s_version | string | Specify the k3s version. You can choose from the following release channels or p | "latest" |
| cidr | object({ pods = string | K3s network CIDRs (see https://rancher.com/docs/k3s/latest/en/installation/insta | {
"pods": "10.42.0.0/16",
"services" |
| agents | map(any) | K3s agent nodes definitions. The key is used as node name if no name is provided | {} |
| name | string | K3s cluster domain name (see https://rancher.com/docs/k3s/latest/en/installation | "!!!DEPRECATED!!!" |
| kubernetes_certificates | list( object({ file_ | A list of maps of cerificate-name.[crt/key] : cerficate-value to copied to /var/ | [] |
kubernetes_cluster_secret — Secret token used to join nodes to the clusterkubernetes — Authentication credentials of Kubernetes (full administrator).kube_config — Genereated kubeconfig.summary — Current state of k3s (version & nodes).kubernetes_ready — Dependency endpoint to synchronize k3s installation and provisioning.