Skip to content

Commit

Permalink
Revert "Update AKS module with default configuration (#343)"
Browse files Browse the repository at this point in the history
This reverts commit 6f5a77e.
  • Loading branch information
sumanthreddy29 authored Oct 21, 2024
1 parent 6bba58a commit b74d50a
Show file tree
Hide file tree
Showing 7 changed files with 51 additions and 94 deletions.
11 changes: 4 additions & 7 deletions modules/terraform/azure/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ SCENARIO_NAME=nap-c4n10p100
RUN_ID=$(date +%s)
CLOUD=azure
REGION=eastus2
SKU_TIER=Free
NETWORK_POLICY=cilium
SKU_TIER=free
TERRAFORM_MODULES_DIR=modules/terraform/$CLOUD
TERRAFORM_INPUT_FILE=$(pwd)/scenarios/$SCENARIO_TYPE/$SCENARIO_NAME/terraform-inputs/${CLOUD}.tfvars
SYSTEM_NODE_POOL=${SYSTEM_NODE_POOL:-null}
Expand Down Expand Up @@ -59,15 +58,13 @@ Set `INPUT_JSON` variable. This variable is not exhaustive and may vary dependin
INPUT_JSON=$(jq -n \
--arg run_id $RUN_ID \
--arg region $REGION \
--arg aks_sku_tier "$SKU_TIER" \
--arg aks_network_policy "$NETWORK_POLICY" \
--arg aks_cli_sku_tier "$SKU_TIER" \
--argjson aks_cli_system_node_pool "$SYSTEM_NODE_POOL" \
--argjson aks_cli_user_node_pool "$USER_NODE_POOL" \
'{
run_id: $run_id,
region: $region,
aks_sku_tier: $aks_sku_tier,
aks_network_policy: $aks_network_policy,
aks_cli_sku_tier: $aks_cli_sku_tier,
aks_cli_system_node_pool: $aks_cli_system_node_pool,
aks_cli_user_node_pool: $aks_cli_user_node_pool
}' | jq 'with_entries(select(.value != null and .value != ""))')
Expand All @@ -80,7 +77,7 @@ Set `INPUT_JSON` variable. This variable is not exhaustive and may vary dependin
pushd $TERRAFORM_MODULES_DIR
terraform init
terraform plan -var json_input=$(echo $INPUT_JSON | jq -c .) -var-file $TERRAFORM_INPUT_FILE
terraform apply -var json_input=$(echo $INPUT_JSON | jq -c .) -var-file $TERRAFORM_INPUT_FILE --auto-approve
terraform apply -var json_input=$(echo $INPUT_JSON | jq -c .) -var-file $TERRAFORM_INPUT_FILE
popd
```

Expand Down
16 changes: 3 additions & 13 deletions modules/terraform/azure/aks/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,6 @@ resource "azurerm_kubernetes_cluster" "aks" {
only_critical_addons_enabled = var.aks_config.default_node_pool.only_critical_addons_enabled
temporary_name_for_rotation = var.aks_config.default_node_pool.temporary_name_for_rotation
max_pods = var.aks_config.default_node_pool.max_pods
min_count = var.aks_config.default_node_pool.min_count
max_count = var.aks_config.default_node_pool.max_count
enable_auto_scaling = var.aks_config.default_node_pool.enable_auto_scaling
}

network_profile {
Expand All @@ -41,12 +38,6 @@ resource "azurerm_kubernetes_cluster" "aks" {
outbound_type = var.aks_config.network_profile.outbound_type
pod_cidr = var.aks_config.network_profile.pod_cidr
}

auto_scaler_profile {
}

automatic_channel_upgrade = "patch"

identity {
type = "SystemAssigned"
}
Expand All @@ -58,7 +49,9 @@ resource "azurerm_kubernetes_cluster" "aks" {
}
}

kubernetes_version = var.aks_config.kubernetes_version
oidc_issuer_enabled = true
workload_identity_enabled = true
kubernetes_version = var.aks_config.kubernetes_version
}

resource "azurerm_kubernetes_cluster_node_pool" "pools" {
Expand All @@ -72,12 +65,9 @@ resource "azurerm_kubernetes_cluster_node_pool" "pools" {
os_sku = each.value.os_sku
os_disk_type = each.value.os_disk_type
max_pods = each.value.max_pods
min_count = each.value.min_count
max_count = each.value.max_count
ultra_ssd_enabled = try(each.value.ultra_ssd_enabled, false)
zones = try(each.value.zones, [])
node_taints = each.value.node_taints
enable_auto_scaling = try(each.value.enable_auto_scaling, true)
}

resource "azurerm_role_assignment" "aks_on_subnet" {
Expand Down
41 changes: 19 additions & 22 deletions modules/terraform/azure/aks/variables.tf
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
variable "resource_group_name" {
description = "Value of the resource group name"
type = string
default = "rg"
}

variable "location" {
description = "Value of the location"
type = string
default = "East US"
}

variable "tags" {
description = "value of the tags"
type = map(string)
type = map(string)
default = {
}
}

variable "subnet_id" {
Expand Down Expand Up @@ -38,8 +41,8 @@ variable "aks_config" {
dns_prefix = string
subnet_name = optional(string, null)
network_profile = optional(object({
network_plugin = optional(string, "azure")
network_plugin_mode = optional(string, "overlay")
network_plugin = optional(string, null)
network_plugin_mode = optional(string, null)
network_policy = optional(string, null)
ebpf_data_plane = optional(string, null)
outbound_type = optional(string, null)
Expand All @@ -54,26 +57,20 @@ variable "aks_config" {
os_sku = optional(string, "Ubuntu")
os_disk_type = optional(string, "Managed")
only_critical_addons_enabled = bool
temporary_name_for_rotation = optional(string, "defaulttmp")
max_pods = optional(number, 110)
min_count = optional(number, 2)
max_count = optional(number, 5)
enable_auto_scaling = optional(bool, true)
temporary_name_for_rotation = string
max_pods = optional(number, null)
})
extra_node_pool = list(object({
name = string
subnet_name = optional(string, null)
node_count = number
vm_size = string
os_sku = optional(string, "Ubuntu")
os_disk_type = optional(string, "Managed")
max_pods = optional(number, 110)
min_count = optional(number, 2)
max_count = optional(number, 100)
ultra_ssd_enabled = optional(bool, false)
zones = optional(list(string), [])
node_taints = optional(list(string), [])
enable_auto_scaling = optional(bool, true)
name = string
subnet_name = optional(string, null)
node_count = number
vm_size = string
os_sku = optional(string, "Ubuntu")
os_disk_type = optional(string, "Managed")
max_pods = optional(number, null)
ultra_ssd_enabled = optional(bool, false)
zones = optional(list(string), [])
node_taints = optional(list(string), [])
}))
role_assignment_list = optional(list(string), [])
service_mesh_profile = optional(object({
Expand Down
5 changes: 1 addition & 4 deletions modules/terraform/azure/azure_input_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,7 @@
"region": {
"type": "string"
},
"aks_sku_tier": {
"type": "string"
},
"aks_network_policy": {
"aks_cli_sku_tier": {
"type": "string"
},
"aks_cli_system_node_pool": {
Expand Down
42 changes: 14 additions & 28 deletions modules/terraform/azure/main.tf
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
locals {
region = lookup(var.json_input, "region", "East US")
run_id = lookup(var.json_input, "run_id", "123456")
aks_sku_tier = lookup(var.json_input, "aks_sku_tier", "Standard")
aks_network_policy = lookup(var.json_input, "aks_network_policy", null)
aks_cli_sku_tier = lookup(var.json_input, "aks_cli_sku_tier", "standard")
aks_cli_system_node_pool = lookup(var.json_input, "aks_cli_system_node_pool", null)
aks_cli_user_node_pool = lookup(var.json_input, "aks_cli_user_node_pool", null)
aks_custom_headers = lookup(var.json_input, "aks_custom_headers", [])
Expand All @@ -15,35 +14,22 @@ locals {
"run_id" = local.run_id
}

updated_aks_config_list = length(var.aks_config_list) == 1 ? [
for aks in var.aks_config_list : merge(
aks,
{
sku_tier = length(local.aks_sku_tier) > 0 ? local.aks_sku_tier : aks.sku_tier
network_profile = merge(
aks.network_profile,
{
network_policy = local.aks_network_policy != null ? local.aks_network_policy : aks.network_profile.network_policy
ebpf_data_plane = local.aks_network_policy != null && local.aks_network_policy == "cilium" ? local.aks_network_policy : aks.network_profile.ebpf_data_plane
}
)
}
)
] : []

aks_config_map = length(local.updated_aks_config_list) == 0 ? { for aks in var.aks_config_list : aks.role => aks } : { for aks in local.updated_aks_config_list : aks.role => aks }
aks_config_map = { for aks in var.aks_config_list : aks.role => aks }

updated_aks_cli_config_list = length(var.aks_cli_config_list) == 1 ? [
for aks in var.aks_cli_config_list : merge(
aks,
updated_aks_cli_config_list = (length(var.aks_cli_config_list) == 1) ? flatten([
for aks in var.aks_cli_config_list : [
{
sku_tier = length(local.aks_sku_tier) > 0 ? local.aks_sku_tier : aks.sku_tier
aks_custom_headers = length(local.aks_custom_headers) > 0 ? local.aks_custom_headers : aks.aks_custom_headers
default_node_pool = local.aks_cli_system_node_pool != null ? local.aks_cli_system_node_pool : aks.default_node_pool
extra_node_pool = local.aks_cli_user_node_pool != null ? local.aks_cli_user_node_pool : aks.extra_node_pool
role = aks.role
aks_name = aks.aks_name
sku_tier = length(local.aks_cli_sku_tier) > 0 ? local.aks_cli_sku_tier : aks.sku_tier
aks_custom_headers = length(local.aks_custom_headers) > 0 ? local.aks_custom_headers : aks.aks_custom_headers
use_aks_preview_cli_extension = aks.use_aks_preview_cli_extension
default_node_pool = local.aks_cli_system_node_pool != null ? local.aks_cli_system_node_pool : aks.default_node_pool
extra_node_pool = local.aks_cli_user_node_pool != null ? local.aks_cli_user_node_pool : aks.extra_node_pool
optional_parameters = aks.optional_parameters
}
)
] : []
]
]) : []

aks_cli_config_map = length(local.updated_aks_cli_config_list) == 0 ? { for aks in var.aks_cli_config_list : aks.role => aks } : { for aks in local.updated_aks_cli_config_list : aks.role => aks }
}
Expand Down
26 changes: 10 additions & 16 deletions modules/terraform/azure/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ variable "json_input" {
type = object({
run_id = string
region = string
aks_sku_tier = optional(string, "Standard")
aks_network_policy = optional(string, null)
aks_cli_sku_tier = optional(string, "standard")
aks_custom_headers = optional(list(string), [])
aks_cli_system_node_pool = optional(object({
name = string
Expand Down Expand Up @@ -59,8 +58,8 @@ variable "aks_config_list" {
subnet_name = optional(string)
dns_prefix = string
network_profile = optional(object({
network_plugin = optional(string, "azure")
network_plugin_mode = optional(string, "overlay")
network_plugin = optional(string, null)
network_plugin_mode = optional(string, null)
network_policy = optional(string, null)
ebpf_data_plane = optional(string, null)
outbound_type = optional(string, null)
Expand All @@ -75,25 +74,20 @@ variable "aks_config_list" {
subnet_name = optional(string)
node_count = number
vm_size = string
os_sku = optional(string, "Ubuntu")
os_disk_type = optional(string, "Managed")
os_sku = optional(string)
os_disk_type = optional(string)
only_critical_addons_enabled = bool
temporary_name_for_rotation = optional(string, "defaulttmp")
max_pods = optional(number, 110)
min_count = optional(number, 2)
max_count = optional(number, 5)
enable_auto_scaling = optional(bool, true)
temporary_name_for_rotation = string
max_pods = optional(number)
})
extra_node_pool = list(object({
name = string
subnet_name = optional(string)
node_count = number
vm_size = string
os_sku = optional(string, "Ubuntu")
os_disk_type = optional(string, "Managed")
max_pods = optional(number, 110)
min_count = optional(number, 2)
max_count = optional(number, 100)
os_sku = optional(string)
os_disk_type = optional(string)
max_pods = optional(number)
ultra_ssd_enabled = optional(bool, false)
zones = optional(list(string), [])
node_taints = optional(list(string), [])
Expand Down
4 changes: 0 additions & 4 deletions steps/terraform/set-input-variables-azure.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,17 +33,13 @@ steps:
INPUT_VARIABLES=$(jq -n \
--arg run_id $RUN_ID \
--arg region $REGION \
--arg aks_sku_tier "$SKU_TIER" \
--arg aks_network_policy "$NETWORK_POLICY" \
--argjson aks_custom_headers "$AKS_CUSTOM_HEADERS" \
--argjson aks_cli_system_node_pool "$SYSTEM_NODE_POOL" \
--argjson aks_cli_user_node_pool "$USER_NODE_POOL" \
'{
run_id: $run_id,
region: $region,
aks_custom_headers: $aks_custom_headers,
aks_sku_tier: $aks_sku_tier,
aks_network_policy: $aks_network_policy,
aks_cli_system_node_pool: $aks_cli_system_node_pool,
aks_cli_user_node_pool: $aks_cli_user_node_pool
}' | jq 'with_entries(select(.value != null and .value != ""))')
Expand Down

0 comments on commit b74d50a

Please sign in to comment.