If I was looking to support similar clusters in multiple providers, I'd look at
https://www.pulumi.com/docs/reference/pkg/nodejs/pulumi/cloud
Unfortunately most of the documentation is generated; the lack of introductory material for the Cloud provider is an impediment. I don't know (for example) if it uses GKE / EKS behind the scenes..