Akka.net: Will Kubernetes API from Akka make it to Akka.Net?

Created on 23 Oct 2020  路  7Comments  路  Source: akkadotnet/akka.net

Hello

This is not an issue, is a question about potential evolution of Akka Cluster. Do you have plans of implementing k8s discovery mechanisms as Akka has? I'm asking as in our environment we have a k8s cluster with an intermediate deployment layer on top we have to go through, and that removes features like StatefulSet. We believe that for the solely purposes of forming the cluster we can work around it, but it seems to me the mechanism from Akka would make our life easier. For other advanced features like sharding we are out of luck, but at the moment we do not need any of those.

If you have other places better suited for requests like this one let me know and I'll move this question there.

Thx!

akka-cluster

Most helpful comment

Very nice to see this taking shape, I can now say I gave my contribution to the project by making your brains spin :)

Thx!

All 7 comments

@wasphub good question

This contains a few parts:

https://github.com/ismaelhamed/akka-cluster-management - Akka.Management, which exists as a third party project
https://github.com/Horusiath/Akka.Cluster.Discovery - Akka.Cluster.Discovery, which is a third party project
https://github.com/petabridge/akkadotnet-bootstrap - Akka.Bootstrap, which is a third party project maintained by Petabridge

We've been discussing internally combining these together into a dedicated Akka.Management project that is operated by the Akka.NET organization itself - as part of that project we would likely implement this feature under the umbrella of the Discovery packages.

@Aaronontheweb Let's just port over the whole Akka.Management project, and take advantage of all the hard work the Lightbend's team has already put into it. Plus, IMO users will also appreciate being able to rely on all the [scala, java] documentation and literature that's already out there --much like with akka itself.

I already have Akka.Discovery pretty advanced (missing only the DNS api), so I expect to be able to send a PR one of this days.

We have a two week-long sprint starting on Monday - do you want to add creating an initial repo and merging in that code for akka-management as part of it? @ismaelhamed

Very nice to see this taking shape, I can now say I gave my contribution to the project by making your brains spin :)

Thx!

@Aaronontheweb Akka.Discovery is now part of the Akka project, as a new module, and available to any extension (i.e., the Alpakka Cassandra plugin uses it to discover its contact points):

https://doc.akka.io/docs/akka-persistence-cassandra/snapshot/session.html#using-akka-discovery

I'll send a PR with what I have by the end of the week, and then you guys can take over and implement the DNS API (Config and Aggregate are already implemented).

With Akka.Discovery in place and available as part of Akka itself, it should be easier to start working on porting the Akka.Management project.

@ismaelhamed do we need to ask @Horusiath to move any of his Akka.Discovery packages into the Akka.NET organization? https://www.nuget.org/packages/Akka.Cluster.Discovery/

I think those were developed prior to the creation of Scala's Akka.Discovery, so our mileage may vary there.

Created a new issue for Akka.Discovery - we'll open some new ones once we start porting Akka.Management.

@wasphub I'm going to close this issue for now, but keep an eye on #4591 and I'll add a link to the akka-management repository once we create it.

Was this page helpful?
0 / 5 - 0 ratings