日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

如何通过port-forward命令在本地访问 k8s 集群服务

發布時間:2023/12/29 windows 40 coder
生活随笔 收集整理的這篇文章主要介紹了 如何通过port-forward命令在本地访问 k8s 集群服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

公眾號「架構成長指南」,專注于生產實踐、云原生、分布式系統、大數據技術分享

概述

在我們訪問k8s中的pod服務時,一般通過node port映射pod端口進行訪問,還有一種是通過ingress或者istio通過域名方式來訪問,雖然兩種方式能滿足我們需求,但是如果針對臨時訪問,配置起來還是有點復雜和耗時,那么我們就可以使用 kubectl port-forward來滿足我們需求

port-forward 介紹

kubectl port-forward 是 Kubernetes 命令行工具 kubectl 提供的一個功能,用于在本地主機和 Kubernetes 集群中的 Pod 之間建立端口轉發。

當你運行 kubectl port-forward 命令時,它會將本地主機上的一個端口與 Kubernetes 集群中的一個 Pod 的端口進行綁定。這樣,在本地主機上監聽的端口上收到的流量將被轉發到 Pod 的端口上,反之亦然。

這個功能在開發和調試應用程序時非常有用。以下是一些 kubectl port-forward 的常見用途和好處:

  • 訪問遠程 Pod 的本地服務: 你可以將 Pod 的端口轉發到本地主機,從而能夠直接訪問 Pod 上運行的服務。例如,你可以將一個運行在 Kubernetes 集群中的數據庫 Pod 的端口轉發到本地,以便在本地開發環境中連接和測試數據庫。

  • 調試和日志記錄: 通過將 Pod 的端口轉發到本地,你可以使用本地工具來調試和監視在 Kubernetes 中運行的應用程序。你可以使用本地的調試器、日志記錄工具或其他開發工具來檢查應用程序的狀態、調試問題或查看日志。

  • 繞過 Kubernetes 服務和負載均衡器: 有時候,你可能想直接訪問運行在 Kubernetes 中的應用程序,而不經過 Kubernetes 的服務發現和負載均衡機制。通過將 Pod 的端口轉發到本地,你可以繞過這些機制,直接連接到應用程序。

kubectl port-forward 命令的基本語法如下:

  kubectl port-forward <pod-name> [local-port:]pod-port [-n namespace]
  
  kubectl port-forward deployment/<deployment-name> [local-port:]pod-port [-n namespace]

基于以上介紹下面對port-forward命名進行一個簡單驗證

Kubectl 安裝

  1. 下載
   curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl"

  1. 將 kubectl 置為可執行文件:
chmod +x ./kubectl
  1. 將可執行文件 kubectl 移動到系統可尋址路徑 PATH 內的一個位置:
sudo mv ./kubectl /usr/local/bin/kubectl
sudo chown root: /usr/local/bin/kubectl

說明:

確保 /usr/local/bin 在你的 PATH 環境變量中。

  1. 測試一下,確保你安裝的是最新的版本:
kubectl version --client

或者使用下面命令來查看版本的詳細信息:

kubectl version --client --output=yaml
  1. 安裝插件后,清理安裝文件:
rm kubectl kubectl.sha256

配置kubectl

訪問rancher控制臺,下載kubeCofig文件

執行cd 到當前用戶跟目錄,創建.kube文件夾

cd & mkdir .kube & cd .kube

copy下載集群配置文件到.kube目錄下,假設文件路徑為:/Users/g2/Downloads/ ,文件名為:pdc-demo.yaml,那么命令如下

mv /Users/g2/Downloads/pdc-demo.yaml ./config

執行kubectl get pods 查看配置是否生效,返回如下信息即生效

端口轉發配置驗證

下面使用port-forward命令對集群中的elastic-job和eureka進行本地訪問

elatic-job訪問驗證

如下圖,假如要訪問elatic-job

那么執行以下命令,這里的命令表示訪問本地8080端口轉發的pod上,pod的端口為80

kubectl port-forward elastic-job-86fc7b856-jxflx 8080:80

本地請求8080端口 地址,效果如下圖

eureka訪問驗證

eureka的pod端口也為80映射到本地端口為8762

 kubectl port-forward eureka-5d4cf57b88-l8bgd  8762:80

可以看到訪問成功

總結

以上是生活随笔為你收集整理的如何通过port-forward命令在本地访问 k8s 集群服务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。