In this Google Cloud Platform page https://cloud.google.com/load-balancing/docs/internal/setting-up-internal#test-from-backend-vms (2020-10-12), underneath section "Sending requests from load balanced VMs", it says that any traffic from a backend instance under an Internal Load Balancer will always send requests to itself if it wants to send requests to the Internal Load Balancer.
GCP documentation caution on not sending requests from backend vm
I need requests to go to the internal load balancer and not local because the node is trying to join a Kubernetes control plane, and the way it should communicate with the control plane is through the control plane load balancer. The first control node is also the only one that has a "healthy" status under the load balancer, so the request would always be routed to the correct instance.
Where "10.0.0.149" is the IP of the Internal Load Balancer, I tried using
ip route del 10.0.0.149 dev ens4 table local
but it was replaced again with the same route.
Is there any technical reason why this must be the case? I understand that it is more efficient network-wise, but I don't understand why it is mandatory. How can I send requests to the Internal Load Balancer if the request is coming from a backend that is part of the load balanced backend service? Is there an alternative that I should be doing instead? I need this particular setup where the backend vm communicates to another first-initialized backend vm under the same load balancer.