Kubernetes deployment on top of Octavia/Ussuri/OVN using openstack-integrator charm with internal network port security enabled. The Kube API is unreachable through the octavia loadbalancer VIP, because the source ip of the traffic on the kubernetes-master units is not the LB VIP address, but the VRRP ip of the amphora instance (MASTER):
curl -> Octavia Load Balancer (VIP) -> Amphora instance (VRRP_IP) -> Kubernetes master unit (LB member, port 6443)
Loadbalancer layout: https://pastebin.canonical.com/p/KwpcpzNMjV/
Security group of the kubernetes master members:
openstack security group rule list openstack-integrator-bb31aff882ec-kubernetes-master-members
+--------------------------------------+-------------+-----------+----------------+------------+-----------------------+
| ID | IP Protocol | Ethertype | IP Range | Port Range | Remote Security Group |
+--------------------------------------+-------------+-----------+----------------+------------+-----------------------+
| 8cffd2b8-2e88-4c4c-baba-350a7e29d3b3 | tcp | IPv4 | 10.0.20.213/32 | 6443:6443 | None |
| 977f8156-eecb-4aec-b85e-d0375cbf5d78 | None | IPv4 | 0.0.0.0/0 | | None |
| cfdb4104-8538-4829-94e8-4039b4dfda63 | None | IPv6 | ::/0 | | None |
+--------------------------------------+-------------+-----------+----------------+------------+-----------------------+
Port 6443 rule is allowing only the Loadbalancer VIP (10.0.20.213) to pass.
When the port 6443 is opened up by
openstack security group rule create --proto tcp --dst-port 6443 openstack-integrator-bb31aff882ec-kubernetes-master-members
The source ip of VRRP instead of LB VIP is clearly visible on kubernetes-master units:
10:14:06.929571 IP 10.0.20.202.41475 > 10.0.20.67.6443: Flags [P.], seq 847:871, ack 2498, win 1516, options [nop,nop,TS val 2821808451 ecr 4105503376], length 24
This is potentially a duplication of: https:/ /bugs.launchpad .net/charm- openstack- integrator/ +bug/1884995