Placement groups
Enforce node or zone separation and manage membership without implicit eviction.
Placement groups apply a shared affinity or spread rule to a set of droplets. The scheduler checks membership during creation, restart placement, migration, and recovery.
Spread a service across failure domains
Create a project group under Compute → Placement groups, choose Spread, and select node or zone separation. Required rejects a new placement that would put two members in the same selected domain. Preferred permits that placement when no better eligible candidate exists and reports an unmet preference.
For three required zone-separated replicas, the region must contain three eligible zones. Extra capacity in two zones cannot satisfy the third placement. An unhealthy or forbidden zone does not count as eligible.
Affinity and scope
An affinity group requests shared placement within the selected domain. It does not grant access to a node pool or override CPU and storage compatibility. All members must belong to the same project and region.
Use required node affinity only when the application depends on colocation. It can make host maintenance impossible until the whole group fits elsewhere. An affinity rule is not a bandwidth reservation or a guarantee of application latency.
Add existing droplets
Select Group → Members → Add and review current placement. Membership creates an admission constraint for subsequent placement; it does not migrate existing members. The group shows Noncompliant if current locations violate the rule.
Choose Reconcile placement to generate a migration proposal for eligible members. Review each destination and its temporary reservation. A failed child leaves successful moves applied. Local disks or passthrough devices can require a planned cold move instead.
Change the rule
Open Compute → Placement groups, select the group, and edit its rule. A group edit creates a configuration revision. Changing preferred spread to required spread can leave existing placements noncompliant. The update preview shows the affected members and the number of domains required to reconcile them.
A policy that forbids noncompliant edits rejects that revision until a feasible plan exists. Without that policy, saving the rule records the violation and prevents new placements that would add to it; it does not terminate guests.
Remove members or delete a group
Removing a member leaves its droplet running and clears only this group's constraint. Other selectors, taints, and quotas still apply. Removing a label used by a dynamic group updates resolved membership on the next evaluation; the membership journal records which IDs entered or left.
A nonempty group cannot be deleted until its members are detached. Deleting an empty group does not move any droplet or remove historical membership events. The Placement group API exposes member resolution, compliance, and revision checks.