I've copied the doc to FLIP-610 (https://cwiki.apache.org/confluence/spaces/FLINK/pages/451974246/FLIP-610+Running+Flink+jobs+in+MiniCluster+using+the+Kubernetes+Operator) and will start a separate VOTE thread for it
Kind regards D -- dalelane.co.uk On Thursday, 10 September 2026 at 15:03, Robert Metzger <[email protected]> wrote: > Thanks. > > In my opinion, this FLIP can go into VOTEing. > > On Mon, Aug 31, 2026 at 6:14 PM Dale Lane <[email protected]> > wrote: > > > I've added a description of how the launcher could be implemented to the > > same Google Doc at > > https://docs.google.com/document/d/1dtGjPYcsBkx1vxHPs1QnDtPxeH_Acz_pl8gx4b1BLB4/edit?usp=sharing > > > > Having looked into it more, it'll be lot smaller and simpler to implement > > than I first thought. > > > > Kind regards > > > > D > > -- > > dalelane.co.uk > > > > > > On Thursday, 27 August 2026 at 19:42, Robert Metzger <[email protected]> > > wrote: > > > > > I think the launcher can go into this FLIP. > > > > > > > > > On Tue, Aug 25, 2026 at 8:44 PM Dale Lane < > > [email protected]> > > > wrote: > > > > > > > > 3. Launcher placement - Here I'd go the opposite way of the current > > doc. > > > > > Currently, every deployment shape keeps its bootstrap in the Flink > > > > > distribution, and that convention is what decouples operator version > > from > > > > > Flink version. My opinion is that the MiniCluster launcher should > > follow > > > > > it. In practice, the launcher is close to `flink run -t local`, only > > > > adding > > > > > HA-aware resubmission and pod exit-code semantics on top, so it is > > core > > > > > code either way. I'd also say it makes sense to ship it in the > > > > distribution > > > > > (ideally with a bin/ script, so the same setup runs locally too) > > because > > > > > this means the operator depends on no MiniCluster Java API at all, > > and it > > > > > can manage the deployment in the same unified way as the other > > shapes. > > > > > > > > I really like this idea, thanks - that's much better than what I'd > > > > originally thought of. It simplifies a few things, such as migration > > > > between MiniCluster and Deployment by letting you just use the same > > image > > > > for both as-is. I'll have a proper think through what it would need > > and > > > > update the doc. > > > > > > > > Do you think a Flink launcher would need a separate/dedicated FLIP to > > get > > > > broader scrutiny? > > > > > > > > Kind regards > > > > > > > > D > > > > -- > > > > dalelane.co.uk > > > > > > > > On Tuesday, 25 August 2026 at 14:10, Dennis-Mircea Ciupitu < > > > > [email protected]> wrote: > > > > > > > > > Hi Dale, > > > > > > > > > > My response to the open points is the following: > > > > > > > > > > 1. MiniCluster vs 2 containers in one pod - Robert's numbers and > > > > > argument make it clear to me. So, in order to ensure the lowest > > > > possible > > > > > resource consumption, we need to go with the MiniCluster approach > > and > > > > not > > > > > rely on something intermediary that does not reach this end goal > > and > > > > is > > > > > only better suited from the implementation/design perspective. > > > > > 2. Separate CRD vs a third mode - Because the MiniCluster > > approach is > > > > > the way to go, I'd say that we should have an implementation that > > > > > integrates with it in the best way possible. For me, I see a > > separate > > > > CRD > > > > > as the best way to proceed here, as MiniCluster is different from > > many > > > > > points of view from a normal Flink cluster, and by going with a > > third > > > > mode > > > > > I think we just complicate ourselves and we introduce too much > > blast > > > > radius. > > > > > 3. Launcher placement - Here I'd go the opposite way of the > > current > > > > doc. > > > > > Currently, every deployment shape keeps its bootstrap in the Flink > > > > > distribution, and that convention is what decouples operator > > version > > > > from > > > > > Flink version. My opinion is that the MiniCluster launcher should > > > > follow > > > > > it. In practice, the launcher is close to `flink run -t local`, > > only > > > > adding > > > > > HA-aware resubmission and pod exit-code semantics on top, so it is > > > > core > > > > > code either way. I'd also say it makes sense to ship it in the > > > > distribution > > > > > (ideally with a bin/ script, so the same setup runs locally too) > > > > because > > > > > this means the operator depends on no MiniCluster Java API at all, > > > > and it > > > > > can manage the deployment in the same unified way as the other > > shapes. > > > > > 4. Promoting the MiniCluster - Here I say if the entrypoint lands > > in > > > > > Flink core, then I'd follow Gyula's and Robert's guidance on this > > > > side, if > > > > > there is something that can be done further here in order to > > promote > > > > it > > > > > properly. > > > > > 5. Resource and memory mapping - Deferring the exact ratios to > > > > > implementation is fine with me. > > > > > > > > > > > > > > > Best regards, > > > > > Dennis > > > > > > > > > > > > > > > On Mon, Aug 24, 2026 at 2:00 PM Dale Lane < > > > > [email protected]> > > > > > wrote: > > > > > > > > > > > > Whether it should be a different CRD I think should > > > > > > > depend on the overlap with the FlinkDeployment. If > > > > > > > we are exposing essentially the same spec (podTemplate, > > > > > > > jobSpec, flinkConfig, ingress..) then it feels like we > > > > > > > should reuse the CRD and simply introduce a new > > > > > > > deployment mode next to native and standalone. > > > > > > > > > > > > @Gyula, @Dennis - How would you like to proceed with this question? > > > > > > > > > > > > I can absolutely see arguments for/against both approaches. In the > > end > > > > I > > > > > > leaned more towards a separate CRD, partly from an API purity > > > > perspective > > > > > > (feeling that the separate topology deserved a separate API, and > > avoids > > > > > > describing the pod spec and status as "jobManager" or "taskManager" > > > > when > > > > > > it's both) and partly because it dodged the automated topology > > > > migration. > > > > > > > > > > > > But maybe we don't mind the "a MiniCluster includes a Job Manager > > so we > > > > > > can just describe it as jobManager (and ignore the taskManager > > > > references)" > > > > > > API smell. It could change the manual migration path I describe to > > > > > > transition jobs between MiniCluster and full distributed clusters > > to > > > > just > > > > > > flipping a mode value. And we can always reject/block such a mode > > > > switch in > > > > > > the meantime unless/until the Operator is ready to support topology > > > > > > transition/migration. > > > > > > > > > > > > Kind regards > > > > > > > > > > > > Dale > > > > > > -- > > > > > > dalelane.co.uk > > > > > > > > > > > > Sent with Proton Mail secure email. > > > > > > > > > > > > On Thursday, 20 August 2026 at 10:47, Gyula Fóra < > > [email protected] > > > > > > > > > > > wrote: > > > > > > > > > > > > > Thanks @Robert Metzger for the explanation, > > > > > > > > > > > > > > Overall I think this is a good idea and hopefully we can reuse > > most > > > > of > > > > > > > the controller flow that we already have. > > > > > > > It would be nice to share the spec/status as much as reasonably > > > > possible. > > > > > > > > > > > > > > Whether it should be a different CRD I think should depend on the > > > > > > > overlap with the FlinkDeployment. If we are exposing essentially > > the > > > > > > > same spec (podTemplate, jobSpec, flinkConfig, ingress..) then it > > > > feels > > > > > > > like we should reuse the CRD and simply introduce a new > > deployment > > > > > > > mode next to native and standalone. > > > > > > > > > > > > > > Cheers > > > > > > > Gyula > > > > > > > > > > > > > > On Thu, Aug 20, 2026 at 11:26 AM Dale Lane > > > > > > > <[email protected]> wrote: > > > > > > > > > > > > > > > > This bit that I added to the FLIP is perhaps worthy of a bit > > more > > > > > > scrutiny, as it's based on my assumptions (misunderstandings?) of > > how > > > > the > > > > > > FKO project works. > > > > > > > > > > > > > > > > In the section "Promoting MiniCluster to a stable API" I > > asserted: > > > > > > > > > > > > > > > > > For the Flink Kubernetes Operator project to provide a > > launcher > > > > > > > > > as an example project would depend on the core Flink project > > > > > > > > > promoting some MiniCluster components to @PublicEvolving ... > > > > > > > > > This is not a technical requirement, as the current > > > > > > > > > proof-of-concept demonstrates that the existing API is > > sufficient > > > > > > > > > - the promotion recommended here is of MiniCluster’s > > existing > > > > > > > > > submission surface. The requirement is about the Operator > > project > > > > > > > > > managing risk by building upon a stable contract. ... > > > > > > > > > > > > > > > > Is that really a requirement or have I just invented that? :) > > > > > > > > > > > > > > > > Looking more closely at the existing code, I can see we already > > > > have > > > > > > plenty of uses of flink-runtime classes that don't have @Public / > > > > > > @PublicEvolving annotations, so my usage of flink-runtime classes > > like > > > > the > > > > > > MiniCluster and MiniClusterConfiguration wouldn't be without > > precedent. > > > > > > > > > > > > > > > > While I still think it'd be lovely to build this feature > > solely on > > > > > > stable APIs, maybe I'm creating an unreasonably high bar to clear > > by > > > > > > framing it this so strongly. > > > > > > > > > > > > > > > > What do you think? What are the norms here? > > > > > > > > > > > > > > > > Kind regards > > > > > > > > > > > > > > > > Dale > > > > > > > > -- > > > > > > > > dalelane.co.uk > > > > > > > > > > > > > > > > > > > > > > > > On Wednesday, 5 August 2026 at 16:02, Dale Lane < > > > > > > [email protected]> wrote: > > > > > > > > > > > > > > > > > I'd like to start a discussion on > > > > > > > > > FLIP-XXX : Running Flink jobs in MiniCluster using the > > Kubernetes > > > > > > Operator > > > > > > > > > > > > > > > > > > > > > https://docs.google.com/document/d/1dtGjPYcsBkx1vxHPs1QnDtPxeH_Acz_pl8gx4b1BLB4/edit?usp=sharing > > > > > > > > > > > > > > > > > > The aim of the FLIP is to extend the Flink Kubernetes > > Operator to > > > > > > offer a single-pod, light-weight deployment option for > > low-throughput > > > > jobs. > > > > > > > > > > > > > > > > > > From the motivation: > > > > > > > > > A single-pod, self-contained Flink job that starts fast and > > > > needs no > > > > > > multi-pod coordination could be a good fit for low-throughput jobs > > that > > > > > > aren't suitable for session clusters because they need isolation. > > > > > > > > > > > > > > > > > > Looking forward to feedback, both on the general motivation > > (Have > > > > > > you seen a need for very small lightweight Flink jobs where fast > > > > > > crash-consistent resume is good enough without a full distributed > > Flink > > > > > > cluster?) and the suggested implementation approach (Do you think > > a new > > > > > > custom resource kind is the best way to represent this capability?) > > > > > > > > > > > > > > > > > > Kind regards > > > > > > > > > > > > > > > > > > Dale > > > > > > > > > -- > > > > > > > > > dalelane.co.uk > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
