-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.tf
96 lines (87 loc) · 3.34 KB
/
main.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
resource "spotinst_ocean_aks_np_virtual_node_group" "aks-np-vng" {
name = var.ocean_vng_name
ocean_id = var.ocean_id
headrooms {
cpu_per_unit = var.autoscale_headrooms_cpu_per_unit
memory_per_unit = var.autoscale_headrooms_memory_per_unit
gpu_per_unit = var.autoscale_headrooms_gpu_per_unit
num_of_units = var.autoscale_headrooms_num_of_units
}
availability_zones=var.availability_zones
//vng nodePoolProperties
max_pods_per_node = var.max_pods_per_node
enable_node_public_ip = var.enable_node_public_ip
os_disk_size_gb = var.os_disk_size_gb
os_disk_type = var.os_disk_type
os_type = var.os_type
os_sku = var.os_sku
kubernetes_version = var.kubernetes_version
pod_subnet_ids = var.pod_subnet_ids
vnet_subnet_ids = var.vnet_subnet_ids
dynamic "linux_os_config" {
for_each = var.linux_os_config != null ? [var.linux_os_config] : []
content {
sysctls {
vm_max_map_count = linux_os_config.value.vm_max_map_count
}
}
}
//vng nodeCountLimits
min_count = var.node_min_count
max_count = var.node_max_count
//vng strategy
spot_percentage = var.spot_percentage
fallback_to_ondemand = var.fallback_to_ondemand
// vmSizes filter
filters {
min_vcpu = var.vmsizes_filters_min_vcpu
max_vcpu = var.vmsizes_filters_max_vcpu
min_memory_gib = var.vmsizes_filters_min_memory_gib
max_memory_gib = var.vmsizes_filters_max_memory_gib
architectures = var.vmsizes_filters_architectures
series = var.vmsizes_filters_series
exclude_series = var.vmsizes_filters_exclude_series
accelerated_networking = var.vmsizes_filters_accelerated_networking
disk_performance = var.vmsizes_filters_disk_performance
min_gpu = var.vmsizes_filters_min_gpu
max_gpu = var.vmsizes_filters_max_gpu
min_nics = var.vmsizes_filters_min_nics
vm_types = var.vmsizes_filters_vm_types
min_disk = var.vmsizes_filters_min_disk
gpu_types = var.vmsizes_filters_gpu_types
}
tags = var.tags
labels = var.labels
dynamic "taints" {
for_each = var.taints == null ? [] : var.taints
content {
key = taints.value["key"]
value = taints.value["value"]
effect = taints.value["effect"]
}
}
update_policy {
should_roll = var.should_roll
conditioned_roll = var.conditioned_roll
roll_config {
respect_pdb = var.respect_pdb
batch_size_percentage = var.batch_size_percentage
vng_ids = var.vng_ids
batch_min_healthy_percentage = var.batch_min_healthy_percentage
comment = var.comment
node_pool_names = var.node_pool_names
respect_restrict_scale_down = var.respect_restrict_scale_down
node_names = var.node_names
}
}
# Scheduling ##
scheduling {
dynamic "shutdown_hours" {
for_each = var.shutdown_hours != null ? [var.shutdown_hours] : []
content {
is_enabled = shutdown_hours.value.is_enabled
time_windows = shutdown_hours.value.time_windows
}
}
}
}