...
How Kubernetes enabled it
- StatefulSet:
- Used to manage Stateful applications.
- Guarantees fixed numbering for a POD.
- Also using headless service, PODs were registered with there own unique FQDN in DNS; this makes it possible for other PODs to find a POD even after restart (with different IPAddress).
- Since we were using a single Kubernetes VM, hosting a volume dynamically on the local-store VM for newly spun slaves was not straight-forward (support wasn't inbuilt). However, Kubernetes does support writing external provisioners which did the job for us. This provisioner actually created a virtual NFS Server on top of a local store.The instance of nfs-provisioner will watch for
PersistentVolumeClaims
that ask for theStorageClass
and automatically create NFS-backedPersistentVolumes
for them.
...