1. 程式人生 > >kubernetes-通過埠轉發(port-forward)訪問叢集中的應用程式(pod)

kubernetes-通過埠轉發(port-forward)訪問叢集中的應用程式(pod)

通過埠轉發訪問叢集中的應用程式

本頁向您展示如何使用 kubectl port-forward 命令連線到執行在 Kubernetes 叢集中的 Redis 伺服器。這種型別的連線對於資料庫除錯很有幫助。

建立一個 Pod 來執行 Redis 伺服器

建立一個 Pod:
kubectl create -f https://k8s.io/docs/tasks/access-application-cluster/redis-master.yaml
命令執行成功後將有以下輸出驗證該 Pod 是否已經建立:
pod "redis-master" created
檢查 Pod 是否正在執行且處於就緒狀態:
kubectl get pods
當 Pod 就緒,輸出顯示 Running 的狀態:
 NAME           READY     STATUS    RESTARTS   AGE
 redis-master   2/2       Running   0          41s
驗證 Redis 伺服器是否已在 Pod 中執行,並監聽 6379 埠:
kubectl get pods redis-master --template='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"\n"}}'
或
kubectl get pods redis-master -o yaml |grep containerPort
埠輸出如下:
6379
將本地埠轉發到 Pod 中的埠

將本地工作站上的 6379 埠轉發到 redis-master pod 的 6379 埠:
kubectl port-forward redis-master 6379:6379
輸出類似於:
 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
啟動 Redis 命令列介面
redis-cli
在 Redis 命令列提示符下,輸入 ping 命令:
127.0.0.1:6379>ping
Ping 請求成功返回 PONG。

討論

建立連線,將本地的 6379 埠轉發到執行在 Pod 中的 Redis 伺服器的 6379 埠。有了這個連線您就可以在本地工作站中除錯執行在 Pod 中的資料庫。