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.
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.
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.
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.
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.
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.
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.