Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update port-forwarding docs #7575

Merged
merged 1 commit into from
Mar 5, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -22,53 +22,93 @@ for database debugging.

{% capture steps %}

## Creating a pod to run a Redis server
## Creating Redis deployment and service

1. Create a pod:
1. Create a Redis deployment:

kubectl create -f https://k8s.io/docs/tasks/access-application-cluster/redis-master.yaml
kubectl create -f https://k8s.io/docs/tutorials/stateless-application/guestbook/redis-master-deployment.yaml

The output of a successful command verifies that the pod was created:
The output of a successful command verifies that the deployment was created:

pod "redis-master" created
deployment "redis-master" created

When the pod is ready, you can get:

kubectl get pods

1. Check to see whether the pod is running and ready:
NAME READY STATUS RESTARTS AGE
redis-master-765d459796-258hz 1/1 Running 0 50s

kubectl get pods
kubectl get deployment

NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
redis-master 1 1 1 1 55s

kubectl get rs
NAME DESIRED CURRENT READY AGE
redis-master-765d459796 1 1 1 1m


2. Create a Redis service:

kubectl create -f https://k8s.io/docs/tutorials/stateless-application/guestbook/redis-master-service.yaml

The output of a successful command verifies that the service was created:

service "redis-master" created

Check the service created:

When the pod is ready, the output displays a STATUS of Running:
kubectl get svc | grep redis

NAME READY STATUS RESTARTS AGE
redis-master 2/2 Running 0 41s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
redis-master ClusterIP 10.0.0.213 <none> 6379/TCP 27s

1. Verify that the Redis server is running in the pod and listening on port 6379:
3. Verify that the Redis server is running in the pod and listening on port 6379:

{% raw %}
kubectl get pods redis-master --template='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"\n"}}'
kubectl get pods redis-master-765d459796-258hz --template='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"\n"}}'
{% endraw %}

The output displays the port:

6379


## Forward a local port to a port on the pod

1. Forward port 6379 on the local workstation to port 6379 of redis-master pod:
1. `kubectl port-forward` allows using resource name, such as a service name, to select a matching pod to port forward to since Kubernetes v1.10.

kubectl port-forward redis-master-765d459796-258hz 6379:6379

which is the same as

kubectl port-forward pods/redis-master-765d459796-258hz 6379:6379

or

kubectl port-forward deployment/redis-master 6379:6379

or

kubectl port-forward rs/redis-master 6379:6379

or

kubectl port-forward redis-master 6379:6379
kubectl port-forward svc/redis-master 6379:6379

The output is similar to this:
Any of the above commands works. The output is similar to this:

I0710 14:43:38.274550 3655 portforward.go:225] Forwarding from 127.0.0.1:6379 -> 6379
I0710 14:43:38.274797 3655 portforward.go:225] Forwarding from [::1]:6379 -> 6379

1. Start the Redis command line interface:
2. Start the Redis command line interface:

redis-cli
redis-cli

1. At the Redis command line prompt, enter the `ping` command:
3. At the Redis command line prompt, enter the `ping` command:

127.0.0.1:6379>ping
127.0.0.1:6379>ping

A successful ping request returns PONG.

Expand Down