[RFE] Add support for Node-Local virtual IP
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Wishlist
|
Oleg Bondarev |
Bug Description
This RFE is to add a new type of IP resource to OpenStack Neutron - a virtual IP that can be shared across multiple ports/VMs (similar to anycast IP) and is guaranteed to only be reachable within the same physical server/node boundaries.
E.g. assuming the cloud has the following resources:
- node "Node-A" with 2 virtual machines with corresponding ports "Port-A-Src" and "Port-A-Dest"
- node "Node-B" with 2 virtual machines with corresponding ports "Port-B-Src" and "Port-B-Dest"
- node "Node-C" with 1 virtual machine with port "Port-C-Src"
We would like to be able to create an IP address resource "NodeLocal-IP" and bind it to "Port-A-Dest" and "Port-B-Dest" such that:
- packets originating from "Port-A-Src" will be guaranteed to be only sent to "Port-A-Dest"
- packets originating from "Port-B-Src" will be guaranteed to be only sent to "Port-B-Dest"
- packets originating from "Port-C-Src" will not reach any destination service
Some examples/use-cases for the feature:
- (generic) Side-car proxies, load-balancers or service mesh platforms. For example K8s Istio project runs a side-car Envoy proxies on each node and all packets from client containers are transparently re-routed through those local proxies. If the proposed feature is added to OpenStack Neutron, that could enable and/or simplify the integration and development of such services for OpenStack.
- (large-
- (OpenStack) The feature can potentially benefit the OpenStack Octavia project to improve the scalability for very-large-scale deployments by applying load-balance-
Co-Authored-By: Oleg Bondarev
Changed in neutron: | |
milestone: | none → next |
Changed in neutron: | |
assignee: | nobody → Oleg Bondarev (obondarev) |
milestone: | next → yoga-3 |
Changed in neutron: | |
milestone: | yoga-3 → yoga-2 |
Is this something like an allowed address pair but only accessible from the node?