Replicante Core uses platforms to discover and manage nodes.
Platforms are “registered” with Core by applying Platform
objects pointing to a service
implementing the platform specification.
Clusters to be managed by Replicante Core are discovered from platforms themselves. The platform discovery process takes advantage of dynamic provisioning to find the clusters it should manage and to manage nodes that make them up.
So how does platform’s cluster discovery work?
Platform
objects though the API.discovery
component periodically runs at fixed intervals.discovery
run looks for any platform with an expected next schedule time in the past.
If no platform needs to be discovered the discovery
run does nothing.discovery
run schedules a discovery task for each platform that needs one.now() + discovery.interval
.Platform discovery
is configurable:
discovery
component interval: the interval should be short as it determines the delay
between platform discovery tasks needing to run and them being scheduled.When clusters and nodes are automatically discovered they can also automatically go away.
This feature is not currently available and is yet to be designed in full.