It is too bad because declarative specifications and control loops to have state converge to what it should be is a nice pattern.
Keeping up with all of AWS’s surface area though is hard if their heart isn’t in it.
It is too bad because declarative specifications and control loops to have state converge to what it should be is a nice pattern.
Keeping up with all of AWS’s surface area though is hard if their heart isn’t in it.
You end up in this weird place where your compute nodes can, at any time, assume super powerful roles that can change nacls, security groups, completely destroy database clusters or what have you.
It feels like running your app as root and database admin, but more. I guess if you completely trust your kube control plane?
Like everything I'm sure it has a use somewhere.
In AWS you end up with a manually built/managed root cluster and if you've automated deploying / upgrading (which you probably should) that then you might as well just use those pipelines and code for all your other clusters too instead of having 1 special thing.
If the infrastructure gets complex there will start to be dependencies between stuff, there is definitely a tipping point where you need a real iac pipeline (tf/cf) instead in any case.
I think captn3mo proposed one of the more reasonable use cases which is provisioning stuff like queues and dbs for test envs or ci, we ended up stubbing out aws for ci and using the same pipeline code we use to deploy to prod instead for "full fat" testing but I can see where it might make sense to use kube manifests. Probably some creative uses for "deployment per customer" SaaSs too.