[wishlist] Anti-affinity rules for application unit placement when using openstack cloud provider

Bug #1834060 reported by Drew Freiberger on 2019-06-24
This bug affects 2 people
Affects Status Importance Assigned to Milestone

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.

Richard Harding (rharding) wrote :

Thanks, it's definitely something we've looked into at some point. There's an array of use cases for more intelligent placement directives.

Changed in juju:
status: New → Triaged
importance: Undecided → Wishlist
Drew Freiberger (afreiberger) wrote :

As a workaround, we are implementing a flavor-based placement strategy where we'll target workers per compute node via flavor extra_specs=capabilities:host:<hypervisor_hostname> and then setting the machine constraints for the placement to use those hypervisor-tagged flavors, along with ensuring ComputeCapabilitiesFilter is part of the nova placement filters.

This seems a sufficient strategy for kubernetes-worker nodes, and then using AZ placement flavors for k8s-master, etcd, kubeapi-load-balancer, etc.

Alf Ihring (alfihring) wrote :

Hi all,
we would also be interested in a server_group based placement option for k8s on Openstack to regulate Worker Node placement on the hypervisors.

Felipe Reyes (freyes) on 2020-05-26
tags: added: seg
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers