Kelsey Hightower had a good take in <a href="https://twitter.com/kelseyhightower/status/1296311951530704896" rel="nofollow">https://twitter.com/kelseyhightower/status/12963119515307048...</a> "AWS Controllers for Kubernetes is pretty dope. You can leverage Kubernetes to manage AWS resources such as API gateways and S3 buckets. Think Terraform but backed by Kubernetes style APIs and "realtime" control loops."<p>An in the thread he mentions Crossplane as the cross-cloud way to do this <a href="https://twitter.com/kelseyhightower/status/1296321377134231552" rel="nofollow">https://twitter.com/kelseyhightower/status/12963213771342315...</a>
One consequence is the accidental deletion of AWS things...<p>If a CRD is deleted the CRs described it are also deleted. So, deleting a CRD (even accidentally) could end up deleting resources in AWS (e.g., backups). So, be careful.<p>Some things being managed by Kubernetes would be really cool. Other things being managed by k8s could break things if something goes wrong. I would plan accordingly.
I started building something along this line a few years ago. the ability to control AWS VM and treat them as pods (i.e. can backend a service, access other services) to have a hybrid (VM / Container) infrastucture that is all managed in the kubernetes way. Future work would have been to try and manage other resources similarly.<p>Sadly startup interest changed and then went under (but the freedom I was given to explore there was the best experience I have ever had)<p><a href="https://github.com/apporbit/infranetes" rel="nofollow">https://github.com/apporbit/infranetes</a>
On the one hand this could be such a cool and powerful concept.<p>On the other hand my brain segfaults on the recursive loop of how the layer-inversion gets modeled as IaC with a CI/CD pipeline. I guess if you were very strict about having your provider-infra layer (cloudformation/terraform) do only the bare minimum to get your kube environment up, and then within that kube environment you used something like ACK to provision any cloud-provider resources that your kube-managed apps/pipelines needed.<p>Yet another case where I'm like "I don't know if kube should be the answer to everything, but I sure as shit won't miss <x>".
See also KubeForm - <a href="https://kubeform.com/" rel="nofollow">https://kubeform.com/</a> which will do a lot of this already, via Terraform.
This reminds me of this classic comic.
<a href="https://www.catmuseumsf.org/images/print/comix/bill.jpg" rel="nofollow">https://www.catmuseumsf.org/images/print/comix/bill.jpg</a>