diff --git a/aks/terraform/main.tf b/aks/terraform/main.tf
index 5f74846..c04997e 100644
--- a/aks/terraform/main.tf
+++ b/aks/terraform/main.tf
@@ -66,6 +66,7 @@ module "cluster" {
outbound_ip_count = var.outbound_ip_count
outbound_ports_allocated = var.outbound_ports_allocated
+ worker_node_vm_size = local.system_vm_size
worker_node_ssh_public_key = var.worker_node_ssh_public_key
kubernetes_api_public_access = var.kubernetes_api_public_access
@@ -83,6 +84,8 @@ module "cluster" {
locals {
os_disk_size_gb = 48
+ system_vm_size = "Standard_D2s_v3"
+
prod1k_vm_size = "Standard_E2s_v3"
prod10k_vm_size = "Standard_E4s_v3"
prod100k_vm_size = "Standard_E8s_v3"
diff --git a/aks/terraform/modules/broker-node-pool/README.md b/aks/terraform/modules/broker-node-pool/README.md
index fc2ff41..de7ba68 100644
--- a/aks/terraform/modules/broker-node-pool/README.md
+++ b/aks/terraform/modules/broker-node-pool/README.md
@@ -37,6 +37,7 @@ No modules.
| [node\_pool\_taints](#input\_node\_pool\_taints) | Kubernetes taints added to worker nodes in the node pools. | `list(string)` | n/a | yes |
| [subnet\_id](#input\_subnet\_id) | The subnet that will contain the worker nodes in each node pool. | `string` | n/a | yes |
| [worker\_node\_disk\_size](#input\_worker\_node\_disk\_size) | The OS disk size (in GB) used for the worker nodes in each node pool. | `string` | n/a | yes |
+| [worker\_node\_disk\_type](#input\_worker\_node\_disk\_type) | The type of the OS disk for the worker nodes in each node pool. | `string` | `"Ephemeral"` | no |
| [worker\_node\_vm\_size](#input\_worker\_node\_vm\_size) | The VM size used for the worker nodes in each node pool. | `string` | n/a | yes |
## Outputs
diff --git a/aks/terraform/modules/broker-node-pool/main.tf b/aks/terraform/modules/broker-node-pool/main.tf
index 13825c4..926f789 100644
--- a/aks/terraform/modules/broker-node-pool/main.tf
+++ b/aks/terraform/modules/broker-node-pool/main.tf
@@ -22,7 +22,7 @@ resource "azurerm_kubernetes_cluster_node_pool" "this" {
vnet_subnet_id = var.subnet_id
vm_size = var.worker_node_vm_size
- os_disk_type = "Ephemeral"
+ os_disk_type = var.worker_node_disk_type
os_disk_size_gb = var.worker_node_disk_size
node_labels = var.node_pool_labels
diff --git a/aks/terraform/modules/broker-node-pool/variables.tf b/aks/terraform/modules/broker-node-pool/variables.tf
index 08e88ed..0ce51d7 100644
--- a/aks/terraform/modules/broker-node-pool/variables.tf
+++ b/aks/terraform/modules/broker-node-pool/variables.tf
@@ -40,6 +40,12 @@ variable "worker_node_disk_size" {
description = "The OS disk size (in GB) used for the worker nodes in each node pool."
}
+variable "worker_node_disk_type" {
+ type = string
+ default = "Ephemeral"
+ description = "The type of the OS disk for the worker nodes in each node pool."
+}
+
variable "node_pool_labels" {
type = map(string)
description = "Kubernetes labels added to worker nodes in the node pools."
diff --git a/aks/terraform/modules/cluster/README.md b/aks/terraform/modules/cluster/README.md
index dc04035..950369c 100644
--- a/aks/terraform/modules/cluster/README.md
+++ b/aks/terraform/modules/cluster/README.md
@@ -54,7 +54,10 @@ No modules.
| [resource\_group\_name](#input\_resource\_group\_name) | The name of the resource group that will contain the cluster. | `string` | n/a | yes |
| [route\_table\_id](#input\_route\_table\_id) | The ID of the route table of the subnet where the cluster will reside. | `string` | n/a | yes |
| [subnet\_id](#input\_subnet\_id) | The ID of the subnet where the cluster will reside. | `string` | n/a | yes |
+| [worker\_node\_os\_disk\_size\_gb](#input\_worker\_node\_os\_disk\_size\_gb) | The size of the OS disk for the worker nodes in the default (system) node pool. | `number` | `48` | no |
+| [worker\_node\_os\_disk\_type](#input\_worker\_node\_os\_disk\_type) | The type of the OS disk for the worker nodes in the default (system) node pool. | `string` | `"Ephemeral"` | no |
| [worker\_node\_ssh\_public\_key](#input\_worker\_node\_ssh\_public\_key) | The public key that will be added to the authorized keys file on the worker nodes for SSH access. | `string` | n/a | yes |
+| [worker\_node\_vm\_size](#input\_worker\_node\_vm\_size) | The default VM size for the worker nodes in the default (system) node pool. | `string` | n/a | yes |
## Outputs
diff --git a/aks/terraform/modules/cluster/main.tf b/aks/terraform/modules/cluster/main.tf
index d613743..0c801bf 100644
--- a/aks/terraform/modules/cluster/main.tf
+++ b/aks/terraform/modules/cluster/main.tf
@@ -1,8 +1,5 @@
locals {
worker_node_username = "worker"
-
- os_disk_size_gb = 48
- default_vm_size = "Standard_D2s_v3"
}
################################################################################
@@ -62,9 +59,9 @@ resource "azurerm_kubernetes_cluster" "cluster" {
default_node_pool {
name = "default"
node_count = 2
- vm_size = local.default_vm_size
- os_disk_size_gb = local.os_disk_size_gb
- os_disk_type = "Ephemeral"
+ vm_size = var.worker_node_vm_size
+ os_disk_size_gb = var.worker_node_os_disk_size_gb
+ os_disk_type = var.worker_node_os_disk_type
vnet_subnet_id = var.subnet_id
zones = var.availability_zones
max_pods = var.max_pods_per_node
@@ -156,15 +153,12 @@ resource "azurerm_monitor_diagnostic_setting" "cluster" {
category = "cluster-autoscaler"
}
- enabled_log {
- category = "kube-apiserver"
- }
-
enabled_log {
category = "kube-audit-admin"
}
- enabled_log {
- category = "kube-controller-manager"
+ metric {
+ category = "AllMetrics"
+ enabled = false
}
}
\ No newline at end of file
diff --git a/aks/terraform/modules/cluster/variables.tf b/aks/terraform/modules/cluster/variables.tf
index 641913d..30db6d1 100644
--- a/aks/terraform/modules/cluster/variables.tf
+++ b/aks/terraform/modules/cluster/variables.tf
@@ -109,4 +109,21 @@ variable "max_pods_per_node" {
type = number
default = 110
description = "The maximum number of pods for the worker nodes in the node pools."
+}
+
+variable "worker_node_vm_size" {
+ type = string
+ description = "The default VM size for the worker nodes in the default (system) node pool."
+}
+
+variable "worker_node_os_disk_size_gb" {
+ type = number
+ default = 48
+ description = "The size of the OS disk for the worker nodes in the default (system) node pool."
+}
+
+variable "worker_node_os_disk_type" {
+ type = string
+ default = "Ephemeral"
+ description = "The type of the OS disk for the worker nodes in the default (system) node pool."
}
\ No newline at end of file