Skip to content

Commit 94d7226

Browse files
author
Benjamin Bauer
committed
feat: add k8s nodepool drain_timeout_in_minutes and node_soak_duration_in_minutes setting
1 parent 5558e16 commit 94d7226

File tree

3 files changed

+51
-1
lines changed

3 files changed

+51
-1
lines changed

README.md

+20
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,26 @@ Type: `string`
199199

200200
Default: `"default"`
201201

202+
### default\_node\_pool\_node\_soak\_duration\_in\_minutes
203+
204+
Description: soak\_duration\_in\_minutes is a optional parameter for an upgrade\_settings block
205+
Example: "30"
206+
see https://learn.microsoft.com/en-us/azure/aks/upgrade-aks-cluster?tabs=azure-cli#set-node-soak-time-value
207+
208+
Type: `number`
209+
210+
Default: `0`
211+
212+
### default\_node\_pool\_upgrade\_settings\_drain\_timeout\_in\_minutes
213+
214+
Description: drain\_timeout\_in\_minutes is a optional parameter for an upgrade\_settings block
215+
Example: "30"
216+
see https://learn.microsoft.com/en-us/azure/aks/upgrade-aks-cluster?tabs=azure-cli#set-node-drain-timeout-value
217+
218+
Type: `number`
219+
220+
Default: `30`
221+
202222
### default\_node\_pool\_upgrade\_settings\_enabled
203223

204224
Description: If true, an upgrade\_settings block will be added to default\_node\_pool.

main.tf

+3-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ resource "azurerm_kubernetes_cluster" "k8s" {
6767
dynamic "upgrade_settings" {
6868
for_each = local.has_default_node_pool_upgrade_settings
6969
content {
70-
max_surge = var.default_node_pool_upgrade_settings_max_surge
70+
max_surge = var.default_node_pool_upgrade_settings_max_surge
71+
drain_timeout_in_minutes = var.default_node_pool_upgrade_settings_drain_timeout_in_minutes
72+
node_soak_duration_in_minutes = var.default_node_pool_node_soak_duration_in_minutes
7173
}
7274
}
7375
}

vars.tf

+28
Original file line numberDiff line numberDiff line change
@@ -301,3 +301,31 @@ variable "default_node_pool_upgrade_settings_max_surge" {
301301
see https://learn.microsoft.com/en-us/azure/aks/upgrade-aks-cluster?tabs=azure-cli#customize-node-surge-upgrade
302302
EOF
303303
}
304+
305+
variable "default_node_pool_upgrade_settings_drain_timeout_in_minutes" {
306+
type = number
307+
description = <<-EOF
308+
drain_timeout_in_minutes is a optional parameter for an upgrade_settings block
309+
Example: "30"
310+
see https://learn.microsoft.com/en-us/azure/aks/upgrade-aks-cluster?tabs=azure-cli#set-node-drain-timeout-value
311+
EOF
312+
validation {
313+
condition = var.default_node_pool_upgrade_settings_drain_timeout_in_minutes >= 0 && var.default_node_pool_upgrade_settings_drain_timeout_in_minutes <= 60
314+
error_message = "default_node_pool_upgrade_settings_drain_timeout_in_minutes has to be between 0 and 60 including."
315+
}
316+
default = 30
317+
}
318+
319+
variable "default_node_pool_node_soak_duration_in_minutes" {
320+
type = number
321+
description = <<-EOF
322+
soak_duration_in_minutes is a optional parameter for an upgrade_settings block
323+
Example: "30"
324+
see https://learn.microsoft.com/en-us/azure/aks/upgrade-aks-cluster?tabs=azure-cli#set-node-soak-time-value
325+
EOF
326+
validation {
327+
condition = var.default_node_pool_node_soak_duration_in_minutes >= 0 && var.default_node_pool_node_soak_duration_in_minutes <= 60
328+
error_message = "default_node_pool_node_soak_duration_in_minutes has to be between 0 and 60 including."
329+
}
330+
default = 0
331+
}

0 commit comments

Comments
 (0)