Placement Groups

See here for background on Placement Groups.

See here for the placement group API reference

Creating a placement group

Create a placement group by applying a YAML configuration:

$ cat placementgroup.yaml
apiVersion: compute.evroclabs.net/v1alpha1
kind: PlacementGroup
metadata:
  name: my-pg
spec:
  strategy:
    type: spread

$ kubectl apply -f placementgroup.yaml
placementgroup.compute.evroclabs.net/my-pg created

Adding a virtual machine to a placement group

To create a new VM in a placement group, or to add an existing VM to a placement group, refer here.

Get Detailed Placement Group Information

To see the placement group information, including which VMs are in the placement group, run:

$  kubectl describe placementgroup my-pg
Name:         my-pg
Namespace:    org
...
Spec:
  Strategy:
    Type:  spread
Status:
  Conditions:
    Last Transition Time:  2025-05-30T08:54:58Z
    Message:
    Reason:                Ready
    Status:                True
    Type:                  Ready
  Virtual Machines:
    Name:  test-vm
...