Introduction
In this lab, you will learn how to use the Kubernetes port-forward
command to forward a local port to a port on a pod. You will start with simple examples and gradually progress to more complex scenarios.
Forwarding a Local Port to a Pod
In this step, you will learn how to forward a local port to a port on a pod.
- Start by creating a deployment with one replica and an Nginx container:
kubectl create deployment nginx --image=nginx --replicas=1
- Wait for the pod to become ready:
kubectl wait --for=condition=Ready pod -l app=nginx
- Use the
kubectl port-forward
command to forward a local port to the pod:
kubectl port-forward < pod_name > 19000:80
Replace <pod_name>
with the name of the pod created in step 1, and you can get the <pod_name>
with the kubectl get pod -l app=nginx
command.
- Open a web browser and go to
http://localhost:19000
to view the Nginx welcome page.
Forwarding Multiple Local Ports to a Pod
In this step, you will learn how to forward multiple local ports to a pod.
- Use the
kubectl port-forward
command to forward multiple local ports to the pod:
kubectl port-forward 19443:443 < pod_name > 19080:80
Replace <pod_name>
with the name of the pod created in step 1, and you can get the <pod_name>
with the kubectl get pod -l app=nginx
command.
- Open another terminal and use the ss command at the Linux command line to see if ports 19080 and 19443 are on the host.
Forwarding a Local Port to a Pod with Multiple Containers
In this step, you will learn how to forward a local port to a specific container in a pod with multiple containers.
- Create a pod with two containers: Nginx and BusyBox:
cat << EOF | kubectl apply -f -
apiVersion: v1
kind: Pod
metadata:
name: nginx-busybox
spec:
containers:
- name: nginx
image: nginx
- name: busybox
image: busybox
command:
- sleep
- "3600"
EOF
- Wait for the pod to become ready:
kubectl wait --for=condition=Ready pod nginx
- Use the
kubectl port-forward
command to forward a local port to the Nginx container:
kubectl port-forward nginx-busybox 19001:80
- Open a web browser and go to
http://localhost:19001
to view the Nginx welcome page.
Using Port-Forward with Kubernetes Services
In this step, you will learn how to use the kubectl port-forward
command with Kubernetes services.
- Create a service for the Nginx deployment:
kubectl expose deployment nginx --port=80 --type=ClusterIP
- Use the
kubectl port-forward
command to forward a local port to the service:
kubectl port-forward service/nginx 20000:80
- Open a web browser and go to
http://localhost:20000
to view the Nginx welcome page.
Summary
Congratulations, you have successfully completed the Kubernetes port-forward command lab! In this lab, you learned how to forward a local port to a pod, forward multiple local ports to a pod, forward a pod port to a local port, forward a local port to a specific container in a pod with multiple containers, and use the kubectl port-forward
command with Kubernetes services. These skills are essential for debugging issues in a Kubernetes cluster.
Want to learn more?
- 🚀 Practice Kubernetes Port Forward Command
- 🌳 Learn the latest Kubernetes Skill Trees
- 📖 Read More Kubernetes Tutorials
Join our Discord or tweet us @WeAreLabEx ! 😄
Top comments (1)
Great write-up, we also have a bunch of articles on Kubernetes, check it out here - packagemain.tech