Terraform Configurations

Terraform configurations are used for provisioning Kubernetes cluster and node pools required for deployment of services.

You can find the configurations required for provisioning on your cloud provider on the following GitHub repository.

Terraform Configuration Repository

It is possible to customize the following provisioning variables as needed:

Variable
Definition
Default

region

Cloud region to provision the cluster on

"eu-north-1"

ID of VPC to add cluster to

-

zones

Zones to user for the cluster

["eu-north-1b"]

cluster_name

Name to assign to provisioned cluster

"rierino-cluster"

static_ips

Names of static ips to allocate for services

[ "admin-gateway-lb-ip", "h2owave-lb-ip", "admin-ui-lb-ip" ]

node_pools

List of node pool definitions to provision

[

{ name = "admin" instance_size = "small" desired_size = 1 min_size = 1 max_size = 2 },

{ name = "ui" instance_size = "medium" desired_size = 1 min_size = 1 max_size = 2 },

{ name = "infra" instance_size = "small" desired_size = 1 min_size = 1 max_size = 2 },

{ name = "ops" instance_size = "large" desired_size = 1 min_size = 1 max_size = 2 }

]

admin_cidr

CIDR for static IP addresses to grant admin access to

-

Where do we draw the line between Terraform & Ansible?

We use Terraform strictly for provisioning of cloud vendor specific resources (e.g. cluster, node pools, security groups).

Any application installation, configuration or kubernetes deployment is done using Ansible.

Last updated