Bird
Raised Fist0
Kubernetesdevops~5 mins

kubectl port-forward for local access in Kubernetes - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the kubectl port-forward command do?
It forwards a port from a local machine to a port on a Kubernetes pod, allowing local access to the pod's service without exposing it externally.
Click to reveal answer
beginner
How do you forward local port 8080 to port 80 on a pod named my-pod?
Use the command: kubectl port-forward pod/my-pod 8080:80
Click to reveal answer
beginner
Can kubectl port-forward be used to access services inside a Kubernetes cluster without exposing them externally?
Yes, it allows local access to pods or services without changing cluster network settings or exposing services outside the cluster.
Click to reveal answer
intermediate
What is the syntax to forward a local port to a service instead of a pod?
Use: kubectl port-forward service/ :
Click to reveal answer
intermediate
Why might you use kubectl port-forward instead of exposing a service with a LoadBalancer?
Because it is quick, requires no cluster changes, and is safer for temporary access without exposing the service to the internet.
Click to reveal answer
What is the correct command to forward local port 3000 to port 80 on a pod named web-pod?
Akubectl port-forward pod/web-pod 3000:80
Bkubectl forward-port pod/web-pod 80:3000
Ckubectl port-forward service/web-pod 80:3000
Dkubectl expose pod/web-pod 3000:80
Which resource types can kubectl port-forward forward ports to?
APods and Services
BOnly Pods
COnly Services
DNodes
What happens if you close the terminal running kubectl port-forward?
AThe pod restarts
BThe port forwarding continues in the background
CThe port forwarding stops immediately
DThe service is exposed externally
Why is kubectl port-forward considered secure for local testing?
AIt encrypts all traffic automatically
BIt does not expose ports outside the local machine
CIt requires a VPN connection
DIt changes pod firewall rules
Which of these is NOT a valid use of kubectl port-forward?
ATesting an internal API without cluster changes
BDebugging a database inside the cluster
CAccessing a pod's web server locally
DExposing a service to the internet permanently
Explain how kubectl port-forward helps you access a Kubernetes pod locally without exposing it externally.
Think about how you connect your computer to a service inside the cluster safely.
You got /4 concepts.
    Describe the steps and command syntax to forward local port 5000 to port 5000 on a service named my-service.
    Remember the resource type and port mapping format.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of kubectl port-forward in Kubernetes?
      easy
      A. To connect your local machine to a pod or service port inside the cluster
      B. To expose a pod to the internet permanently
      C. To create a new Kubernetes service
      D. To delete a pod from the cluster

      Solution

      1. Step 1: Understand the function of port-forward

        kubectl port-forward creates a temporary tunnel from your local machine to a pod or service port inside the Kubernetes cluster.
      2. Step 2: Compare other options

        Exposing pods permanently or creating/deleting resources are different commands and purposes.
      3. Final Answer:

        To connect your local machine to a pod or service port inside the cluster -> Option A
      4. Quick Check:

        Port-forward = local to pod/service connection [OK]
      Hint: Port-forward = local access to pod/service port [OK]
      Common Mistakes:
      • Thinking port-forward exposes pods publicly
      • Confusing port-forward with service creation
      • Assuming it deletes pods
      2. Which of the following is the correct syntax to forward local port 8080 to port 80 of a pod named my-pod?
      easy
      A. kubectl port-forward my-pod 80:8080
      B. kubectl port-forward pod/my-pod 80:8080
      C. kubectl port-forward my-pod 8080
      D. kubectl port-forward pod/my-pod 8080:80

      Solution

      1. Step 1: Understand port-forward syntax

        The syntax is kubectl port-forward [resource-type/resource-name] localPort:remotePort. So to forward local 8080 to pod port 80, use 8080:80.
      2. Step 2: Identify correct resource format

        Pod resource must be specified as pod/my-pod for clarity and correctness.
      3. Final Answer:

        kubectl port-forward pod/my-pod 8080:80 -> Option D
      4. Quick Check:

        Syntax = kubectl port-forward pod/name localPort:remotePort [OK]
      Hint: Use pod/name and localPort:remotePort format [OK]
      Common Mistakes:
      • Reversing port numbers (remote:local instead of local:remote)
      • Omitting 'pod/' prefix
      • Swapping ports in the command
      3. Given the command kubectl port-forward svc/my-service 9090:80, what will happen when you open http://localhost:9090 in your browser?
      medium
      A. You will access the pod's port 9090 directly
      B. You will access the service's port 80 through local port 9090
      C. You will get a connection refused error
      D. The command will fail because services cannot be port-forwarded

      Solution

      1. Step 1: Understand port-forward to service

        The command forwards local port 9090 to port 80 of the service my-service. So accessing localhost:9090 connects to service port 80.
      2. Step 2: Confirm service port-forward support

        Kubectl supports port-forwarding to services, so the command works and forwards traffic correctly.
      3. Final Answer:

        You will access the service's port 80 through local port 9090 -> Option B
      4. Quick Check:

        Port-forward svc port works = access via local port [OK]
      Hint: Local port maps to service port, access via localhost:localPort [OK]
      Common Mistakes:
      • Thinking services cannot be port-forwarded
      • Confusing local and remote ports
      • Expecting pod port 9090 instead of service port 80
      4. You run kubectl port-forward pod/my-pod 8080:80 but get the error: error: unable to forward port because pod is not running. What is the most likely cause?
      medium
      A. The pod my-pod is not in Running state
      B. You used the wrong port numbers
      C. Port-forward does not work with pods
      D. You need to specify the namespace explicitly

      Solution

      1. Step 1: Analyze error message

        The error says the pod is not running, so port-forward cannot connect to it.
      2. Step 2: Check pod state requirement

        Port-forward requires the pod to be in Running state to forward ports successfully.
      3. Final Answer:

        The pod my-pod is not in Running state -> Option A
      4. Quick Check:

        Pod must be Running for port-forward [OK]
      Hint: Pod must be Running to port-forward [OK]
      Common Mistakes:
      • Assuming port numbers cause this error
      • Thinking port-forward doesn't work with pods
      • Ignoring pod status before port-forward
      5. You want to access two different pods pod-a and pod-b running on ports 8080 and 9090 respectively, on your local machine at ports 3000 and 4000 simultaneously. Which commands should you run?
      hard
      A. kubectl port-forward pod/pod-a 3000:8080; kubectl port-forward pod/pod-b 4000:9090
      B. kubectl port-forward pod/pod-a 8080:3000 & kubectl port-forward pod/pod-b 9090:4000
      C. kubectl port-forward pod/pod-a 3000:8080 & kubectl port-forward pod/pod-b 4000:9090
      D. kubectl port-forward pod/pod-a 3000:8080 pod/pod-b 4000:9090

      Solution

      1. Step 1: Understand port-forward syntax and concurrency

        Each port-forward command forwards one pod port to a local port. To run two simultaneously, run two commands in parallel using & or separate terminals.
      2. Step 2: Verify port mappings

        Local port 3000 maps to pod-a's 8080, and local 4000 maps to pod-b's 9090. The syntax is localPort:remotePort.
      3. Step 3: Check command correctness

        kubectl port-forward pod/pod-a 3000:8080 & kubectl port-forward pod/pod-b 4000:9090 correctly runs two commands in background with correct port mappings. kubectl port-forward pod/pod-a 3000:8080; kubectl port-forward pod/pod-b 4000:9090 runs sequentially, blocking second command.
      4. Final Answer:

        kubectl port-forward pod/pod-a 3000:8080 & kubectl port-forward pod/pod-b 4000:9090 -> Option C
      5. Quick Check:

        Run two port-forwards in parallel with correct local:remote ports [OK]
      Hint: Run separate port-forward commands in background for multiple pods [OK]
      Common Mistakes:
      • Swapping local and remote ports
      • Trying to port-forward multiple pods in one command
      • Running commands sequentially blocking second port-forward
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard