kubernetes實踐之六十一:kubectl port-forward

百聯達發表於2018-06-21
一:簡介
kubectl port-forward 透過埠轉發對映本地埠到指定的應用埠,從而訪問叢集中的應用程式(Pod).

二:舉例

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

a.建立一個 Pod:

點選(此處)摺疊或開啟

  1. kubectl create -f https://k8s.io/docs/tasks/access-application-cluster/redis-master.yaml
命令執行成功後將有以下輸出驗證該 Pod 是否已經建立:

點選(此處)摺疊或開啟

  1. pod "redis-master" created
b.檢查 Pod 是否正在執行且處於就緒狀態:

點選(此處)摺疊或開啟

  1. kubectl get pods
當 Pod 就緒,輸出顯示 Running 的狀態:

點選(此處)摺疊或開啟

  1. NAME READY STATUS RESTARTS AGE
  2.  redis-master 2/2 Running 0 41s
c.驗證 Redis 伺服器是否已在 Pod 中執行,並監聽 6379 埠:

點選(此處)摺疊或開啟

  1. kubectl get pods redis-master --template='{{(index (index .spec.containers 0).ports 0).containerPort}}{{"\n"}}'
埠輸出:6379

2.將本地埠轉發到 Pod 中的埠

a.將本地工作站上的 6379 埠轉發到 redis-master pod 的 6379 埠:

點選(此處)摺疊或開啟

  1. kubectl port-forward redis-master 6379:6379
輸出類似於:

點選(此處)摺疊或開啟

  1. I0710 14:43:38.274550 3655 portforward.go:225] Forwarding from 127.0.0.1:6379 -> 6379
  2.  I0710 14:43:38.274797 3655 portforward.go:225] Forwarding from [::1]:6379 -> 6379
b.啟動 Redis 命令列介面
redis-cli
c.在 Redis 命令列提示符下,輸入 ping 命令:
127.0.0.1:6379>ping
Ping 請求成功返回 PONG。

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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-2156435/,如需轉載,請註明出處,否則將追究法律責任。

相關文章