feature: zone aware control plane unit placement
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Snap |
Triaged
|
Wishlist
|
Unassigned |
Bug Description
It seems that AZ awareness is not supported at the moment. Here is some output for trying to make it happen:
- Via juju, we are not able to put an openstack service on a specific node. There is a key word that we can use called "placement", but it should be set in a k8s bundle: https:/
- I was able to place service units in different nodes based on their zones following those steps:
1. Add an antiaffinity rule in the statefulset of the service: https:/
2. add a zone label for each worker in microk8s: sudo kubectl label nodes node09 zone=3
3. The problem is if I remove a zone from a worker, ipods still always get assigned to that worker.
I think there are a few pieces that need to fall into place to enable this as an automatic feature.
a) we need to add support for MAAS, which can model the zones in the DC >LoadBalancer we know is error prone).
b) the new microk8s charm needs to be made zone aware so that it can consume this information
c) really Juju + K8S needs to model unit anti{-affinity} otherwise we're always going to be patching K8S service definitions (which from our patching of ClusterIP-
I think zone aware placement of units is a useful feature; we're just a way off it yet.