This is based on Hugh's Akka Cluster demo app with the nice visualizer. We've only removed a few config options so they go back to defaults, and updated Akka Mangement to 1.0, and then specify the app with an AkkaCluster resource instead of Namespace + Role + Rolebinding against default account + Deployment.
The AkkaCluster resource can be installed in any namespace. This application uses the Red Hat Universal Base Image(UBI), and the AdoptOpenJDK.
The AkkaCluster Operator is for use with applications using Akka Management v1.x or newer, with both Bootstrap and HTTP modules enabled, and a management port defined to use discovery.
akka.management {
cluster.bootstrap {
contact-point-discovery {
discovery-method = kubernetes-api
}
}
}
To install the operator, use the Akka Cluster Operator from OperatorHub.io.
You can also clone the Operator repo and follow its README. It is pre-built so you're just loading Kubernetes resources in this step and using the bintray image.
https://github.com/lightbend/akka-cluster-operator
The public image is available but you can build your own image wtih:
mvn clean package docker:build
Manually publish updates to Bintray.
kubectl apply -f ./kubernetes/akka-cluster.yml
make a Route to deployment/akka-cluster-demo port 8080 for the UI
Install the AkkaCluster Operator from OperatorHub.io before deploying the demo application.
kubectl apply -f ./kubernetes/akka-cluster-minishift.yml
Expose the built in UI:
kubectl expose deployment/akka-cluster-demo --type=NodePort --port 8080
Go to the UI:
minikube service akka-cluster-demo