最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Kubernetes中根據(jù)Pod IP查找Pod及關(guān)聯(lián)服務(wù)的實現(xiàn)方式

 更新時間:2025年10月02日 16:54:30   作者:XMYX-0  
文章介紹Kubernetes中通過Endpoints、Service選擇器、網(wǎng)絡(luò)策略及節(jié)點IPVS/iptables等方法快速定位Pod與關(guān)聯(lián)Service的技巧,推薦優(yōu)先使用Endpoints并結(jié)合標簽匹配,適用于調(diào)試和運維場景

在 Kubernetes 集群中,有時候我們只知道 Pod 的 IP 地址,需要快速定位對應(yīng)的 Pod 以及其關(guān)聯(lián)的 Service。

這篇文章總結(jié)了幾種可行的方法,并提供一些實用的診斷技巧。

方法一:通過 Endpoints 定位(推薦)

Kubernetes 的 Endpoints 對象保存了 Service 與 Pod IP 的映射關(guān)系,因此這是最直接的方法。

kubectl get endpoints --all-namespaces -o json | \
jq -r '.items[] | select(.subsets[].addresses[].ip == "10.255.111.149") | .metadata.namespace + "/" + .metadata.name'

注意:

  • 需要安裝 jq 工具(apt-get install jqbrew install jq)。
  • 輸出結(jié)果會顯示 Pod 所屬 Service 的命名空間和名稱。

如果系統(tǒng)未安裝 jq,也可以使用 jsonpath

kubectl get endpoints -A -o jsonpath='{range .items[?(@.subsets)]}{.metadata.namespace}{" "}{.metadata.name}{"\n"}{range .subsets[*].addresses[*]}{.ip}{"\n"}{end}{end}' | \
grep -B1 10.255.111.149

示例輸出:

uat redis
10.255.111.149
  • uat: 命名空間
  • redis: Service 名稱
  • 10.255.111.149: Pod IP 地址

方法二:通過 Service 的選擇器(Selector)匹配

1、先找到 Pod 的標簽:

kubectl get pod --all-namespaces -o wide --field-selector status.podIP=10.255.111.149

示例輸出:

NAMESPACE   NAME                     READY   STATUS    RESTARTS   AGE    IP               NODE             NOMINATED NODE   READINESS GATES
uat         redis-5d57b8754f-ndlq7   1/1     Running   0          217d   10.255.111.149   10-255-101-210   <none>           <none>
  • NAMESPACE: 命名空間
  • NAME: Pod 名稱
  • READY: Pod 狀態(tài)
  • STATUS: Pod 運行狀態(tài)
  • RESTARTS: 重啟次數(shù)
  • AGE: Pod 存活時間
  • IP: Pod IP 地址
  • NODE: Pod 所在節(jié)點
  • NOMINATED NODE: 提名節(jié)點(無)
  • READINESS GATES: 就緒門(無)

2、根據(jù)標簽查找對應(yīng)的 Service:

kubectl get svc --all-namespaces -o json | \
jq -r '.items[] | select(.spec.selector.app == "myapp" and .spec.selector.env == "prod") | .metadata.namespace + "/" + .metadata.name'

注意:

  • 如果找不到服務(wù),可能是 Pod 沒有被任何 Service 選擇,或者標簽不匹配。
  • Service 的 Endpoints 只會包含處于 Ready 狀態(tài)的 Pod。

方法三:檢查網(wǎng)絡(luò)策略(NetworkPolicy)

如果集群中啟用了 NetworkPolicy,有時候需要確認 Pod 是否在某些策略范圍內(nèi):

kubectl get networkpolicy --all-namespaces -o json | \
jq -r '.items[] | select(.spec.podSelector.matchLabels.app == "myapp") | .metadata.namespace + "/" + .metadata.name'

網(wǎng)絡(luò)策略不會告訴你 Pod 關(guān)聯(lián)的 Service,但可用于排查流量訪問受限的原因。

方法四:通過節(jié)點 IPVS / iptables 直接查找(高級)

如果你想直接查看流量在節(jié)點上的轉(zhuǎn)發(fā)情況,可以在運行 kube-proxy 的節(jié)點上使用:

sudo ipvsadm -Ln | grep -B1 10.255.111.149

說明:

  • 這種方法適合調(diào)試流量問題或者確認服務(wù)負載分發(fā)情況。
  • 對于 iptables 模式的 kube-proxy,可以使用 sudo iptables-save 查找 Pod IP。

額外診斷命令

  • 檢查 Pod 就緒狀態(tài):
kubectl get pod -o wide -A | grep 10.255.111.149

輸出示例:

uat                  redis-5d57b8754f-ndlq7                                            1/1     Running            0                       217d    10.255.111.149   10-255-101-210   <none>           <none>
  • 查看 Service 對應(yīng)的 Endpoints:
kubectl describe svc <service-name> -n <namespace> | grep -A10 Endpoints
  • 測試網(wǎng)絡(luò)連通性(在集群內(nèi)節(jié)點執(zhí)行):
curl -v http://10.255.111.149:<port>

總結(jié)與建議

  • 優(yōu)先使用 Endpoints 方法:最直接、信息最全。
  • 結(jié)合 Pod 標簽和 Service 選擇器:可以快速排查標簽不匹配問題。
  • 網(wǎng)絡(luò)策略和節(jié)點工具:適合調(diào)試訪問受限或流量異常場景。

診斷思路

  • Pod IP 確認 → Pod 就緒狀態(tài) → Service Endpoints → 網(wǎng)絡(luò)策略 → 節(jié)點流量轉(zhuǎn)發(fā)

通過這些方法,可以高效定位 Pod 及其關(guān)聯(lián)服務(wù),解決調(diào)試和運維中遇到的訪問問題。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 節(jié)點NotReady后容器驅(qū)逐時間調(diào)整方式

    節(jié)點NotReady后容器驅(qū)逐時間調(diào)整方式

    文章介紹了Kubernetes早期版本中用于節(jié)點監(jiān)控和Pod驅(qū)逐的參數(shù),以及在k8s1.20版本后這些參數(shù)的廢棄情況,通過測試,驗證了新的TaintBasedEvictions機制的有效性,此外,還介紹了與Pod驅(qū)逐效率相關(guān)的kube-controller-manager參數(shù),包括大規(guī)模集群的處理邏輯
    2026-01-01
  • Kubernetes應(yīng)用服務(wù)質(zhì)量管理詳解

    Kubernetes應(yīng)用服務(wù)質(zhì)量管理詳解

    這篇文章主要為大家介紹了Kubernetes應(yīng)用服務(wù)質(zhì)量管理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 在Kubernetes集群中搭建Istio微服務(wù)網(wǎng)格的過程詳解

    在Kubernetes集群中搭建Istio微服務(wù)網(wǎng)格的過程詳解

    這篇文章主要介紹了在Kubernetes集群中搭建Istio微服務(wù)網(wǎng)格,我們采用default配置檔部署istio網(wǎng)格,istioctl?install命令不指定任何配置檔默認就是呀default配置檔,需要的朋友可以參考下
    2022-05-05
  • k8s部署dashboard ui管理平臺全過程

    k8s部署dashboard ui管理平臺全過程

    Kubernetes儀表盤是一個用于管理和監(jiān)控Kubernetes集群的Web界面,它是一個容器化應(yīng)用,可以通過Kubernetes的API進行部署和管理,儀表盤提供了一個用戶友好的界面,可以查看和管理集群中的資源,包括Pod、Deployment、Service等
    2026-01-01
  • 阿里云kubernetes查找鏡像中jar包的方法(docker查看鏡像中的jar)

    阿里云kubernetes查找鏡像中jar包的方法(docker查看鏡像中的jar)

    這篇文章主要給大家介紹了關(guān)于阿里云kubernetes查找鏡像中jar包的方法,也就是在docker查看鏡像中的jar,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • K8s Pod容器中的command和args指令詳解

    K8s Pod容器中的command和args指令詳解

    這篇文章主要介紹了K8s新手系列之Pod容器中的command和args指令的相關(guān)資料,本文給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-05-05
  • kubernetes?Volume存儲卷configMap學習筆記

    kubernetes?Volume存儲卷configMap學習筆記

    這篇文章主要為大家介紹了kubernetes?Volume存儲卷configMap學習筆記,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Spark實現(xiàn)K-Means算法代碼示例

    Spark實現(xiàn)K-Means算法代碼示例

    這篇文章主要介紹了Spark實現(xiàn)K-Means算法代碼示例,簡單介紹了K-Means算法及其原理,然后通過具體實例向大家展示了用spark實現(xiàn)K-Means算法,需要的朋友可以參考下。
    2017-10-10
  • k8s設(shè)置非強一致反親和性示例

    k8s設(shè)置非強一致反親和性示例

    這篇文章主要為大家介紹了k8s設(shè)置非強一致反親和性示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • OSS獲取阿里云的bucket和endpoint實現(xiàn)方式

    OSS獲取阿里云的bucket和endpoint實現(xiàn)方式

    本文介紹了獲取阿里云OSS的bucket和endpoint的方法,這兩個參數(shù)決定了文件的最終訪問地址,bucket是OSS項目名稱,endpoint是存儲服務(wù)器位置,此外,還提到了OSS的文件管理與域名管理功能
    2026-03-03

最新評論

高清| 盘山县| 康平县| 修文县| 内乡县| 邮箱| 临武县| 龙井市| 唐山市| 德阳市| 延津县| 东港市| 定安县| 清涧县| 奇台县| 渭南市| 中牟县| 阿荣旗| 霍邱县| 镇原县| 上饶市| 专栏| 南江县| 甘肃省| 如皋市| 巢湖市| 合江县| 南部县| 禄丰县| 东光县| 巴彦淖尔市| 沽源县| 满洲里市| 龙口市| 鄄城县| 镇平县| 苍山县| 天全县| 高州市| 信阳市| 木兰县|