Skip to content

Commit 70d700e

Browse files
committed
[terraform/aks] Implement machine type, nodepool max size variables
1 parent 184c5f0 commit 70d700e

File tree

2 files changed

+48
-9
lines changed

2 files changed

+48
-9
lines changed

Diff for: install/infra/modules/aks/kubernetes.tf

+6-6
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ resource "azurerm_kubernetes_cluster" "k8s" {
2727

2828
default_node_pool {
2929
name = "services"
30-
vm_size = local.machine
30+
vm_size = var.services_machine_type
3131

3232

3333
node_taints = []
@@ -36,7 +36,7 @@ resource "azurerm_kubernetes_cluster" "k8s" {
3636

3737
enable_auto_scaling = true
3838
min_count = 1
39-
max_count = 10
39+
max_count = var.max_node_count_services
4040
orchestrator_version = var.cluster_version
4141
node_labels = {
4242
"gitpod.io/workload_meta" = true
@@ -66,11 +66,11 @@ resource "azurerm_kubernetes_cluster" "k8s" {
6666
resource "azurerm_kubernetes_cluster_node_pool" "regularws" {
6767
kubernetes_cluster_id = azurerm_kubernetes_cluster.k8s.id
6868
name = "regularws"
69-
vm_size = local.machine
69+
vm_size = var.workspaces_machine_type
7070

7171
enable_auto_scaling = true
7272
min_count = 1
73-
max_count = 10
73+
max_count = var.max_node_count_regular_workspaces
7474
orchestrator_version = var.cluster_version
7575
node_labels = { "gitpod.io/workload_workspace_regular" = true }
7676
vnet_subnet_id = azurerm_subnet.network.id
@@ -79,11 +79,11 @@ resource "azurerm_kubernetes_cluster_node_pool" "regularws" {
7979
resource "azurerm_kubernetes_cluster_node_pool" "headlessws" {
8080
kubernetes_cluster_id = azurerm_kubernetes_cluster.k8s.id
8181
name = "headlessws"
82-
vm_size = local.machine
82+
vm_size = var.workspaces_machine_type
8383

8484
enable_auto_scaling = true
8585
min_count = 1
86-
max_count = 10
86+
max_count = var.max_node_count_headless_workspaces
8787
orchestrator_version = var.cluster_version
8888
node_labels = { "gitpod.io/workload_workspace_headless" = true }
8989
vnet_subnet_id = azurerm_subnet.network.id

Diff for: install/infra/modules/aks/variables.tf

+42-3
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,62 @@
11
// Common variables
22
variable "kubeconfig" {
3+
description = "Path to write the kubeconfig output to"
34
default = "./kubeconfig"
45
}
56

67
variable "cluster_version" {
7-
description = "kubernetes version of to create the cluster with"
8+
description = "The AKS Kubernetes version"
9+
}
10+
11+
variable "domain_name" {
12+
description = "The domain name where Gitpod will create DNS records. Leave blank to disable DNS management."
13+
type = string
814
}
915

10-
variable "domain_name" {}
1116
variable "enable_airgapped" {
1217
default = false
1318
}
1419

1520
variable "create_external_database" {}
1621
variable "create_external_registry" {}
1722
variable "create_external_storage" {}
18-
variable "resource_group_name" {}
23+
24+
variable "resource_group_name" {
25+
description = "The resource group where Gitpod resources will be created."
26+
type = string
27+
}
1928

2029
// Azure-specific variables
2130
variable "location" {
2231
default = "northeurope"
2332
}
33+
34+
variable "max_node_count_regular_workspaces" {
35+
type = number
36+
description = "Maximum number of nodes in the regular workspaces NodePool. Must be >= 1."
37+
default = 50
38+
}
39+
40+
variable "max_node_count_headless_workspaces" {
41+
type = number
42+
description = "Maximum number of nodes in the headless workspaces NodePool. Must be >= 1."
43+
default = 50
44+
}
45+
46+
variable "max_node_count_services" {
47+
type = number
48+
description = "Maximum number of nodes in the services NodePool. Must be >= 1."
49+
default = 4
50+
}
51+
52+
variable "workspaces_machine_type" {
53+
type = string
54+
description = "The regular and headless node machine type."
55+
default = "Standard_D8_v4"
56+
}
57+
58+
variable "services_machine_type" {
59+
type = string
60+
description = "The services node machine type."
61+
default = "Standard_D4_v4"
62+
}

0 commit comments

Comments
 (0)