Terraform module to buld a simple RKE2 cluster.
Seed RKE2 server + server replica + Agents + 2NLB
Seed RKE2 server + Agents + EIP + Private Domain
Name | Version |
---|---|
terraform | >= 1.3 |
aws | >= 4.40 |
random | >= 3.4.0 |
Name | Version |
---|---|
aws | >= 4.40 |
random | >= 3.4.0 |
Name | Source | Version |
---|---|---|
agent | ./modules/node_pool | n/a |
bucket | ./modules/bucket | n/a |
cluster_server_sg | terraform-aws-modules/security-group/aws | 4.9.0 |
configs | ./modules/config | n/a |
control_plane | ./modules/node_pool | n/a |
control_plane_seed | ./modules/node_pool | n/a |
inter_cluster_sg | terraform-aws-modules/security-group/aws | 4.9.0 |
restore_policy | terraform-aws-modules/iam/aws//modules/iam-policy | 5.3.0 |
role_agent | ./modules/role | n/a |
role_control_plane | ./modules/role | n/a |
Name | Description | Type | Default | Required |
---|---|---|---|---|
add_server_taint | True if add server taint. Note: The NGINX Ingress and Metrics Server addons will not be deployed when all nodes are tainted with CriticalAddonsOnly. If your server nodes are so tainted, these addons will remain pending until untainted agent nodes are added to the cluster. |
bool |
false |
no |
addons | Addon configurations | object({ |
{ |
no |
agent | control plane configurations | object({ |
n/a | yes |
api_endpoint_ip_white_list | CIDR blocks that can access to control plane | list(string) |
[ |
no |
api_endpoint_subnet_ids | subnets for loadbalancer to controller kube API | list(string) |
n/a | yes |
bucket_name | backupt bucket name | string |
"" |
no |
cluster_name | cluster name | string |
n/a | yes |
control_plane | control plane configurations | object({ |
n/a | yes |
disabled_server_charts | Specify disabled server charts ammong rke2-canal, rke2-coredns, rke2-ingress-nginx, rke2-metrics-server | list(string) |
[] |
no |
extra_ssh_keys | extra ssh keys | list(string) |
[] |
no |
internal_zone_id | Private Route53 zone id to register server node(s) when control_plane.single is true. Zone sholud be associated with vpc |
string |
null |
no |
os_type | Type of Operating System. Ubuntu or openSUSE | string |
"Ubuntu" |
no |
prefix | name prefix | string |
"" |
no |
rke2_version | REK2 version like 'v1.20.8+rke2r1' | string |
"" |
no |
server_fqdn | server fqdn | string |
"" |
no |
ssh_key_name | instance ssh key name | string |
"" |
no |
startup | Enable and start RKE2 | bool |
true |
no |
tags | tags | map(string) |
{} |
no |
tls_san | tls sans | list(string) |
[] |
no |
token | server token | string |
"" |
no |
vpc_id | VPC ID | string |
"" |
no |
Name | Description |
---|---|
agent_autoscaling_group_arns | List of arn of autoscaling group generated |
agent_autoscaling_group_ids | List of agent's Autoscaling group ID |
ec2_fleet_arns | List of arn of ec2 fleet generated |
ec2_fleet_ids | List of id of ec2 fleet generated |