2 min read | by Jordi Prats
When we want to access services that run inside a kubernetes cluster that are not supposed to be normally accessed we can temporally run kubectl port-forward to forward traffic to our workstation. To be able to use it, the node must have socat installed.
There are plenty of ways of using kubectl port-forward, most commonly we will want to reach a kubernetes service. To tell kubectl we want to route all traffic from our workstation port 8080 to the port 80 to the service called demo we would execute:
kubectl port-forward service/demo 8080:80
We can do the same for a pod:
kubectl port-forward pod/demo 8080:80
Or even use the deployment selectors to reach one of the pods that this deployment creates:
kubectl port-forward deployment/mongo 8080:08
We can also use a named port instead of a number:
kubectl port-forward service/myservice 8443:https
Or even listen all interfaces using --address option:
kubectl port-forward --address 0.0.0.0 pod/mypod 8888:80
Posted on 13/05/2021