Allow additional allowed IPs for VMs in Security Group networks
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 1.4k
- Avg merge
- 6d 19h
- Merged PRs (30d)
- 32
Description
### The required feature described as a wish
Hi,
I’m currently experimenting with Anycast for Kubernetes clusters.
For this setup, I have two BGP router VMs that talk to multiple tenant worker nodes. The worker nodes should be able to announce external IPs for Kubernetes LoadBalancer services.
The goal is to have multiple tenants on a shared L2 network and use Security Groups for isolation.
The issue is that CloudStack does not know about these external IPs in my scenario, so traffic gets blocked on the hypervisor iptables layer. As far as I understand it, only IPs that CloudStack knows about are allowed as destination IPs for a specific VM.
Even if I create a separate network containing those external IPs, I cannot assign the same IP to multiple VMs. Because of that, real Anycast is not possible.
What would be useful is a way to allow additional destination IPs for a VM or Security Group without requiring CloudStack to assign those IPs directly to a single VM. This would allow external systems, like Kubernetes with BGP-based LoadBalancer announcements, to handle the IP ownership dynamically while CloudStack still provides L2 isolation and anti-spoofing.
Contributor guide
Research direction
Start by reviewing the Security Group behavior and hypervisor iptables filtering described in the issue, focusing on how destination IPs are currently allowed for VMs. Define how additional destination IPs could be allowed for a VM or Security Group while preserving L2 isolation and anti-spoofing, then verify the design against the Kubernetes BGP Anycast scenario.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes
- Domain
- cloud, networking, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100