dspace-group / simphera-reference-architecture-aws

In order to deploy SIMPHERA to AWS, various cloud resources, such as a Kubernetes cluster, PostgreSQL database server, etc., need to be created. This repository contains a reference architecture for these AWS resources. You can use this Terraform configuration as a starting point to create these resources in your own AWS account.
MIT License
11 stars 4 forks source link

Removed eks_addon lifecycle dependency on managed node lifecycle #145

Closed amarin-dspace closed 4 months ago

amarin-dspace commented 4 months ago

This PR is very simple, what it does is basically in the title - it removes K8s add-ons lifecycle dependency on managed node lifecycle.
This dependency is useful on initial deployment, as it ensures faster deployment and everything is ordered (nodes are provisioned first, and then apps on top, ensuring everything is ready for clean app provisioning).
This is, however, not useful if lifecycle operations need to be performed later on, eg configuration change of managed node group(s).
The system then runs into 'catch 22' type of a problem: configuration change triggers node group re-deployment, which in turn triggers eks_addons re-deployment, but since addons contain critical apps (CNI, DNS etc.) to complete node group re-deployment, the provisioning fails.
While this solution is far from ideal, there is an ongoing effort to re-write addons module into individual resources, which would also enable the usage of lifecycle meta argument.
Other points-of-view are welcome.