If you are viewing a certain number of subnets in your cluster while maintaining state in the Kubernetes cluster, PetSets (StatefulSets, in my opinion, it is being called now) is the answer ... or you can define Service per Pod to achieve the same.
To let Pods learn about other Pods IP addresses, you can use Headless Services, which provide you with a list of IP addresses associated with the tag.
For storage, if you use emptyDir, you have local storage, but you lose it when the Pod is deleted / rescheduled.
I use Zookeeper in Kubernetes, and it’s a little painful to configure, but Zookeeper provides a “reconfigurable” API that allows you to reconfigure the cluster when the node changes, so it’s quite simple to override the cluster to start a new node when remodeling the Pod. I'm not sure that the Consul has the same type of function, but it probably does.
source share