[wishlist] Anti-affinity rules for application unit placement when using openstack cloud provider
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
Triaged
|
Wishlist
|
Unassigned |
Bug Description
It would be helpful for deploying and managing kubernetes (CDK) clusters on top of openstack (FCB) if we had the ability to declare a placement constraint for anti-affinity of a given application's instances.
For instance, if I have a 6 hypervisor cloud, and I deploy 6 kubernetes-worker instances on top of that cloud, I want to be able to place all 6 of those workers separate from each other as much as anti-affinity rules and current available placement weighting allows.
At the moment, we can target AZs for juju bundle machines which would end up in a 6 node, 3 AZ environment, with units possibly double-ing up on a hypervisor.
If we could target hypervisor names, while that would help the initial deployment, the placement api wouldn't track that affinity to that hypervisor through machine evacuations for maintenance. Is there a way to handle this in juju?
I believe anti-affinity rules require a ServerGroup to be defined and deployed via HEAT.
Thanks, it's definitely something we've looked into at some point. There's an array of use cases for more intelligent placement directives.