Closed PatrickXYS closed 3 years ago
Let's divide the question into 2 layers, AWS resources layer and K8s resources layer, then we decouple two layers resources.
Of course there are overlapping between two layers' resources, such EFS will serve as K8s's NFS. But we can start from minimal and resolve issues step by step
After a bit research, for k8s resources, we can use CDK8s (Object Oriented Language to generate k8s resource YAML file) + Flux/ArgoCD (Tool for GitOps).
I feel like using CDK8s brings more complexity but did not really simplify our work.
Another proposal on k8s resources management: helm + ArgoCD
The reason I propose helm is it provides a simple way to inject parameter into manifests without large change.
This is a foresee issue to handle below scenarios:
There are some popular solutions, including terrafarm and cdk, my preference is around cdk because it's developed by AWS, and should have a promising support for any new coming AWS resources.