connect to kind cluster from inside and outside
-
Consider this:
There's a linux machine running on azure.
It has apache installed and browing to mymachine.com works, webpage is displayed. All ports are opened in the azure portal "networking settings".
Now there's a k8s kind cluster running on the machine too with a rabbitmq deployment as NodePort service port 32254.
kubectl get svc
- kubernetes ClusterIP 10.96.0.1 443/TCP 3h17m
- ng ClusterIP 10.96.104.61 80/TCP 68m
- rabbitmq NodePort 10.96.8.15 5672:32740/TCP,15672:32254/TCP,15692:31802/TCP 143m
- rabbitmq-nodes ClusterIP None 4369/TCP,25672/TCP 143m
All good, but I'm unable to access the rabbitmq cluster from outside.
The ip address of the control plane is 172.18.0.3, so this command works:
curl http://172.18.0.3:32254
But connecting from outside does not work:
curl http://mymachine.com:32254
So how do we forward from the public-ip of a VM in azure to an internal IP inside the VM?
-
you add the server to balancer then create NAT rule to forward the packet to specific port on your VM.
https://argonsys.com/microsoft-cloud/library/manage-port-forwarding-for-backend-pool-with-azure-load-balancer/