Skip to content

Commit 32a996a

Browse files
committed
up node termination handler and other eks addons
1 parent b81f784 commit 32a996a

File tree

6 files changed

+94
-137
lines changed

6 files changed

+94
-137
lines changed

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,18 @@ terraform apply
2323
terraform output all
2424
```
2525

26+
to destroy everything run (you may need to run it twice one by one)
27+
```
28+
terraform destroy -auto-approve
29+
```
30+
31+
force destroy in case of problems
32+
```
33+
helm ls -a --all-namespaces | awk 'NR > 1 { print "-n "$2, $1}' | xargs -L1 helm delete
34+
kubectl delete all --all --all-namespaces
35+
terraform destroy -auto-approve
36+
```
37+
2638
After `terraform destroy` check ec2 volumes for unused disks as aws-ebs-csi-driver doesn't delete it by default after deleting helm releases.
2739

2840
## Security

example/main.tf

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ locals {
66
cluster_name = "test"
77
admin_email = "[email protected]"
88
ingress_domain = "cluster.local"
9+
ingress_class_name = "apisix" # or "nginx"
910
cert_manager_issuer = ""
1011

1112
cluster_version = "1.29"
@@ -41,6 +42,8 @@ locals {
4142
"node.kubernetes.io/purpose" = "management"
4243
}
4344

45+
# multiple pods don't have tolerations yet
46+
# including snapshot-controller plugin that can't be changed at all
4447
# taints = {
4548
# purpose = {
4649
# key = "node.kubernetes.io/purpose"
@@ -149,7 +152,7 @@ module "eks" {
149152
tags = local.tags
150153

151154
enable_aws_efs_csi_driver = true
152-
enable_aws_node_termination_handler = false
155+
enable_aws_node_termination_handler = true
153156
enable_cert_manager = true
154157
enable_cluster_autoscaler = true
155158
enable_metrics_server = true

main.tf

Lines changed: 38 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ locals {
230230
configuration_values = jsonencode(yamldecode(file("${path.module}/universal_values.yaml")))
231231
}
232232

233-
cluster_addons = merge(
233+
eks_addons = merge(
234234
{
235235
coredns = local.universal_cluster_addon_config
236236
kube-proxy = {
@@ -248,7 +248,7 @@ locals {
248248
most_recent = true
249249
}
250250
},
251-
var.cluster_addons
251+
var.eks_addons
252252
)
253253

254254
universal_values_string = templatefile("${path.module}/universal_values.yaml", {})
@@ -260,6 +260,7 @@ locals {
260260
aws_efs_csi_driver_config = merge(
261261
local.universal_addon_config,
262262
{
263+
reset_values = true
263264
values = [
264265
<<-EOT
265266
controller:
@@ -271,12 +272,22 @@ locals {
271272
)
272273

273274
# https://github.com/aws/aws-node-termination-handler/blob/main/config/helm/aws-node-termination-handler/values.yaml
274-
aws_node_termination_handler_config = merge(local.universal_addon_config, var.aws_node_termination_handler_config)
275+
aws_node_termination_handler_config = merge(
276+
local.universal_addon_config,
277+
{reset_values = true},
278+
var.aws_node_termination_handler_config
279+
)
280+
aws_node_termination_handler_asg_arns = concat(
281+
[for asg in module.eks.self_managed_node_groups : asg.autoscaling_group_arn],
282+
[for asg in module.eks.eks_managed_node_groups : asg.autoscaling_group_arn],
283+
var.aws_node_termination_handler_asg_arns
284+
)
275285

276286
# https://github.com/cert-manager/cert-manager/blob/master/deploy/charts/cert-manager/values.yaml
277287
cert_manager_config = merge(
278288
local.universal_addon_config,
279289
{
290+
reset_values = true
280291
values = [
281292
<<-EOT
282293
webhook:
@@ -292,15 +303,24 @@ locals {
292303
)
293304

294305
# https://github.com/kubernetes/autoscaler/blob/master/charts/cluster-autoscaler/values.yaml
295-
cluster_autoscaler_config = merge(local.universal_addon_config, var.cluster_autoscaler_config)
306+
cluster_autoscaler_config = merge(
307+
local.universal_addon_config,
308+
{reset_values = true},
309+
var.cluster_autoscaler_config
310+
)
296311

297312
# https://github.com/kubernetes-sigs/metrics-server/blob/master/charts/metrics-server/values.yaml
298-
metrics_server_config = merge(local.universal_addon_config, var.metrics_server_config)
313+
metrics_server_config = merge(
314+
local.universal_addon_config,
315+
{reset_values = true},
316+
var.metrics_server_config
317+
)
299318

300319
# https://github.com/FairwindsOps/charts/blob/master/stable/vpa/values.yaml
301320
vpa_config = merge(
302321
local.universal_addon_config,
303322
{
323+
reset_values = true
304324
values = [
305325
<<-EOT
306326
recommender:
@@ -392,37 +412,41 @@ module "addons" {
392412
cluster_version = module.eks.cluster_version
393413
oidc_provider_arn = module.eks.oidc_provider_arn
394414

395-
eks_addons = local.cluster_addons
415+
eks_addons = local.eks_addons
416+
eks_addons_timeouts = var.eks_addons_timeouts
396417

397418
# https://github.com/aws-ia/terraform-aws-eks-blueprints-addons/blob/0e9d6c9b7115ecf0404c377c9c2529bffa56d10d/docs/addons/aws-efs-csi-driver.md
398419
# https://github.com/kubernetes-sigs/aws-efs-csi-driver/blob/master/charts/aws-efs-csi-driver/values.yaml
399420
enable_aws_efs_csi_driver = var.enable_aws_efs_csi_driver
400-
aws_efs_csi_driver = local.aws_efs_csi_driver_config
421+
aws_efs_csi_driver = local.aws_efs_csi_driver_config
401422

402423
# https://github.com/aws-ia/terraform-aws-eks-blueprints-addons/blob/0e9d6c9b7115ecf0404c377c9c2529bffa56d10d/docs/addons/aws-node-termination-handler.md
403424
# https://github.com/aws/aws-node-termination-handler/blob/main/config/helm/aws-node-termination-handler/values.yaml
404-
enable_aws_node_termination_handler = var.enable_aws_node_termination_handler
405-
aws_node_termination_handler = local.aws_node_termination_handler_config
425+
enable_aws_node_termination_handler = var.enable_aws_node_termination_handler
426+
aws_node_termination_handler = local.aws_node_termination_handler_config
427+
aws_node_termination_handler_sqs = var.aws_node_termination_handler_sqs
428+
aws_node_termination_handler_asg_arns = local.aws_node_termination_handler_asg_arns
406429

407430
# https://github.com/aws-ia/terraform-aws-eks-blueprints-addons/blob/0e9d6c9b7115ecf0404c377c9c2529bffa56d10d/docs/addons/cert-manager.md
408431
# https://github.com/cert-manager/cert-manager/blob/master/deploy/charts/cert-manager/values.yaml
409-
enable_cert_manager = var.enable_cert_manager
410-
cert_manager = local.cert_manager_config
432+
enable_cert_manager = var.enable_cert_manager
433+
cert_manager = local.cert_manager_config
434+
cert_manager_route53_hosted_zone_arns = var.cert_manager_route53_hosted_zone_arns
411435

412436
# https://github.com/aws-ia/terraform-aws-eks-blueprints-addons/blob/0e9d6c9b7115ecf0404c377c9c2529bffa56d10d/docs/addons/cluster-autoscaler.md
413437
# https://github.com/kubernetes/autoscaler/blob/master/charts/cluster-autoscaler/values.yaml
414438
enable_cluster_autoscaler = var.enable_cluster_autoscaler
415-
cluster_autoscaler = local.cluster_autoscaler_config
439+
cluster_autoscaler = local.cluster_autoscaler_config
416440

417441
# https://github.com/aws-ia/terraform-aws-eks-blueprints-addons/blob/0e9d6c9b7115ecf0404c377c9c2529bffa56d10d/docs/addons/metrics-server.md
418442
# https://github.com/kubernetes-sigs/metrics-server/blob/master/charts/metrics-server/values.yaml
419443
enable_metrics_server = var.enable_metrics_server
420-
metrics_server = local.metrics_server_config
444+
metrics_server = local.metrics_server_config
421445

422446
# https://github.com/aws-ia/terraform-aws-eks-blueprints-addons/blob/0e9d6c9b7115ecf0404c377c9c2529bffa56d10d/docs/addons/vertical-pod-autoscaler.md
423447
# https://github.com/FairwindsOps/charts/blob/master/stable/vpa/values.yaml
424448
enable_vpa = var.enable_vpa
425-
vpa = local.vpa_config
449+
vpa = local.vpa_config
426450

427451
tags = var.tags
428452
}

modules/victoriametrics/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ module "auth" {
228228
version = "~> 1.1"
229229

230230
depends_on = [
231-
#module.victoriametrics,
231+
module.victoriametrics,
232232
#module.kubernetes_manifests
233233
]
234234

0 commit comments

Comments
 (0)