5 ms·
At first I thought this was about setting up Kubernetes clusters, but that is not what this is about at all. The cluster is just providing resources, the actual
by oneplane 2y ago
At first I thought this was about setting up Kubernetes clusters, but that is not what this is about at all. The cluster is just providing resources, the actual thing here is multiple environments within that cluster. So you might have your chain of services (frontends, backends, event based services) and instead of duplicating all of them you somewhat nest them blue-green style in the same cluster.
In theory you could just use ingress and a special URL to deploy a single service as a special one-off deviation, but when you want to have an entire chain of services adjusted for a separate virtual environment that no longer works (unless you duplicate all services and rewrite all dependant service URLs for example).
- galenmarchetti 2y agofounder/dev on this project here - exactly!! still trying to figure out the wording between "kubernetes development environment", "kubernetes-based application deploys", "application environments in-cluster", etc...i can tell it's not quite coming across clearly in the first go, but yeah you got the idea you can even use ingress and special URL for multiple services in a one-off deviation, but things get really messy when you want to test state-level things too like db migrations. besides making it more convenient to handle the chain of dependencies and duplicating all the services, we also want to make it easier to test db/state migrations and larger features without having to do an expensive e2e application deploy
- oneplane 2y agoI think there isn't an exact term for this yet, it's a bit of a blend between ephemeral environments and skaffold. There have been a few in-house implementations at various companies where they use Istio and combinations of VirtualService and DestinationRule resources to create multi version environment and nested environments without having to change the application code, and this seems to be something like that, but local (hence the Skaffold reference). Your project is probably going to be useful for some (who want it locally), and an inspiration for others (who want to build something similar but for their custom platform) as it can be pretty tricky in a world were we still have people doing things manually (i.e. running kubectl apply in production).