0

Since rolling update is not a feature supported by statefulsets, thought of experimenting with hybrid pods where the seed nodes would be statefulsets and the other non-seed nodes would be deployments. I was trying out this link as suggested in another question : Statfulsets - akka clustering Is there a way I can expose the seed and the non-seed nodes as the same service so that they can be hit with a single external IP?

Community
  • 1
  • 1
Nagireddy Hanisha
  • 1,290
  • 4
  • 17
  • 39

1 Answers1

1

That's possible when using labels properly...

For the seed nodes use sth like this:

apiVersion: apps/v1beta1
kind: StatefulSet
...
spec:
  serviceName: akka-seed
  selector:
    matchLabels:
      run: akka-seed
  template:
    metadata:
      labels:
        run: akka-seed
        app: akka

For the worker nodes use sth like this:

apiVersion: apps/v1beta1
kind: Deployment
...
spec:
  template:
    metadata:
      labels:
        run: akka-worker
        app: akka

In the service you can then reference both through:

apiVersion: v1
kind: Service
metadata:
  name: akka
spec:
  ports:
  ...
  selector:
    app: akka

This would select pods from both groups.

pagid
  • 13,559
  • 11
  • 78
  • 104