kubernetes-通過埠轉發(port-forward)訪問叢集中的應用程式(pod)
阿新 • • 發佈:2019-01-05
通過埠轉發訪問叢集中的應用程式
本頁向您展示如何使用 kubectl port-forward 命令連線到執行在 Kubernetes 叢集中的 Redis 伺服器。這種型別的連線對於資料庫除錯很有幫助。
建立一個 Pod 來執行 Redis 伺服器
建立一個 Pod:
將本地工作站上的 6379 埠轉發到 redis-master pod 的 6379 埠:
討論
本頁向您展示如何使用 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 的狀態:驗證 Redis 伺服器是否已在 Pod 中執行,並監聽 6379 埠:NAME READY STATUS RESTARTS AGE redis-master 2/2 Running 0 41s
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 中的資料庫。