From 1.9 kubernetes adds statefulset pod labels by itself, e.g. statefulset.kubernetes.io/pod-name=kafka-0 (see docks change)
Maybe pod labeler logic could be simplified
Outside service could look like:
kind: Service
apiVersion: v1
metadata:
name: outside-0
namespace: kafka
spec:
selector:
app: kafka
statefulset.kubernetes.io/pod-name: kafka-0
ports:
- protocol: TCP
targetPort: 9094
port: 32400
nodePort: 32400
type: NodePort