| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Since #12706 (4.23.0.0) a VPC offering can include the Firewall service for public IPs. In such
a VPC the VPC virtual router drops all ingress traffic to a public IP that has port forwarding,
load balancing or static NAT rules, unless a firewall rule allows it: the VR is booted with
vpc_firewall_enabled=true and configure.py creates a FIREWALL_<ip> chain ending in DROP
for every such IP (_ensure_vpc_firewall_chains).
The Kubernetes Service does not know about this. For a cluster on a VPC tier it
but no firewall rule. Ingress firewall rules are only created for isolated networks
(setupKubernetesClusterIsolatedNetworkRules → createFirewallRules). The same
"VPC means no firewall" assumption (network.getVpcId() == null) is in
Two things then fail on the cluster public IP:
The cluster stays in Starting until cloud.kubernetes.cluster.start.timeout (default 3600 s)
and goes to Error. Adding the firewall rules by hand later does not help, because the control
node is already broken. The IP is acquired inside the create job, so the rules cannot be added
in advance either.
Observed on 4.23.0.0 (KVM, VPC VR provider, VPC offering with Firewall):
Expected: CKS opens TCP 6443 and the node SSH ports on the cluster public IP, as it does for
isolated networks, and keeps them in sync on scale and node add/remove.
When the VPC virtual router provides the Firewall service of the VPC (the same check that sets
vpc_firewall_enabled on the VR), CKS should create the ingress firewall rules on VPC tiers
too, in the same places where it does for isolated networks, but after the load balancing
and port forwarding rules. Firewall rules created on a fresh VPC public IP before any LB/PF rule
break the IP association (separate issue #14669). Firewall rules on VPC public IPs are
stored with vpc_id and without network_id, so the per-node lookups must go by public IP
instead of findByNetworkIdAndPorts. On cluster deletion the rules go away with the release of
the cluster public IP.
A pull request with this change follows. It leaves VPCs without the Firewall service and the
NSX/Netris paths unchanged.
Related:
| Back | FazBrowse Home | New Git URL |
Activity
boring-cyborg commented on Nov 10, 2026
Thanks for opening your first issue here! Be sure to follow the issue template!
adestis-mf commented on Nov 10, 2026
@RosiKyu @nvazquez could this be considered for the 24.0 milestone? It affects every CKS cluster on a VPC tier whose VPC offering includes the Firewall service, which was introduced in 4.23.0.0 with #12706. A pull request with the fix and unit tests will follow shortly.
nvazquez commented on Nov 11, 2026
Thanks @adestis-mf - added to the milestone for review