We've been using Prefect Cloud for awhile, and it's really flexible to your use cases.
For us, this involved having a handful of Agents running in different environments. Some of our Flows require access ot on-prem resources, so the on-prem K8 Agent picks up those Flows. Other flows simply need a ton of compute resources, so those are triggered in GKE with an Agent listening in there. Then other non-critical Flows are ran in a laboratory K8.
Spawning all the Agents on K8 was very simple to get started, and it's been pretty stable for us.