我正在運行2個吊艙和一個Type:NodePort服務,以在吊艙之間平衡請求。我想知道何時向服務發送請求,該請求轉發到哪個窗格。有沒有辦法找到這個,因爲看看響應,看起來所有的請求都是由同一個pod處理的。如何查找正在處理請求的Kubernetes吊艙
回答
你可以看一下應用程序日誌文件,如果你使用一個。如果您在標準輸出中打印任何內容,請使用
kubectl logs <pod>
來查看消息。對於測試,您可以在響應中包含pod主機名。
很可能是因爲您的上下文和命名空間不足,您無法看到日誌。
嘗試使用kubectl get pods -o wide --all-namespaces | grep <pod>
來獲取pod所在的名稱空間以及節點IP地址的信息。
然後喂,進入下面的命令來獲得最後100行日誌 kubectl --namespace <namespace> logs --tail 100 -f <pod>
另外還有一點莢不與服務相關聯的遠程機會的運行尾巴。要檢查運行kubectl describe services --namespace <namespace> <service>
並在Selector:
部分中查找應用程序名稱
您也可以執行到容器中,查看該端口本身是否可以訪問或綁定端口。如果它不在收聽或回答,很可能是由於該服務沒有與名稱空間中的應用程序相關聯。
選擇器指向我的部署 – PMat
默認情況下,kubernetes Service
將使用WRR進行負載平衡。在創建服務時,將在節點中生成iptables
規則。
可以肯定的是,ssh進入節點並運行iptables-save|less
。搜索服務的名稱。在下面的示例中,服務microbot
負載平衡具有3個副本的microbot
部署。你的案例中應該有2個條目,因爲你只有2個豆莢。
-A KUBE-SVC-LX5ZXALLN4UQ7ZFL -m comment --comment "default/microbot:" -m statistic --mode random --probability 0.33332999982 -j KUBE-SEP-OZCDYTQTC3KQGJK5
-A KUBE-SVC-LX5ZXALLN4UQ7ZFL -m comment --comment "default/microbot:" -m statistic --mode random --probability 0.50000000000 -j KUBE-SEP-SKIRAXBCCQB5R4MV
-A KUBE-SVC-LX5ZXALLN4UQ7ZFL -m comment --comment "default/microbot:" -j KUBE-SEP-SPMPNZCOIJIRSNNQ
如果iptables
輸出並不像上述情況,很可能是您的服務配置不正確。就像Heidi所說的那樣,這個吊艙與服務無關。
我有兩個pod,我的看起來像這樣'-A KUBE-SVC-RCFZYSCVQORLOLVD -m註釋 - 註釋「default/memory-service:」-m statistic --mode random --probability 0.50000000000 - j KUBE-SEP-CXEQ55XIH4PURQSE -A KUBE-SVC-RCFZYSCVQORLOLVD -m註釋 - 註釋「default/memory-service:」-j KUBE-SEP-QL7KI24MTSZRY3Q3' – PMat
iptables規則看起來是正確的,應該正確地進行負載平衡。你可以讓每個命中的'memory-service'守護進程日誌?這樣你就可以用'kubectl logs -f'這個容器來觀察。或者,在部署中公開另外1個端口並將其與服務關聯。一旦你這樣做了''kubectl exec'到pod中,安裝netcat並讓它在額外的端口上連續監聽。然後再次運行你的測試。我就是這樣調試的。 –
- 1. Kubernetes吊艙仍處於「ContainerCreating」狀態
- 2. Kubernetes吊艙沒有啓動
- 3. Kubernetes排序吊艙由
- 4. 如何估算Kubernetes吊艙的CPU需求?
- 5. iptables的錯誤阻止吊艙在Kubernetes
- 6. 在kubernetes中創建吊艙的步驟
- 7. Kubernetes - 路由的IP個別吊艙
- 8. Kubernetes吊艙具有不同的權限
- 9. 避免kubernetes調度運行所有吊艙在kubernetes簇
- 10. Kubernetes/CentOS7/VirtualBox - CrashLoopBackOff在啓動kubernetes面板吊艙
- 11. iOS無法找到AWS吊艙的吊艙規格
- 12. Kubernetes吊艙正在運行,但碼頭工人PS不給任何輸出
- 13. 在天藍色的kubernetes吊艙上連接外部磁盤
- 14. Kubernetes在日誌中沒有明確的原因終止吊艙
- 15. Kubernetes:在Ubuntu服務器上運行永久性吊艙cassandra/mysql
- 16. 吊艙內添加多個網絡接口,在Kubernetes
- 17. 圖像升級後Kubernetes吊艙停留在ContainerCreating狀態
- 18. Kubernetes部署:編輯吊艙的YAML文件的「規範」失敗
- 19. AWS與Kubernetes吊艙的跨羣集通信
- 20. Kubernetes中儲存完成的吊艙記錄有多久?
- 21. 使用kubectl run創建具有卷的kubernetes吊艙
- 22. Alamofire和GoogleMaps吊艙
- 23. 如何在主進程未被阻塞時保持Kubernetes吊艙運行?
- 24. 如何在部署中使用Kubernetes將靜態IP分配給某個吊艙
- 25. 如何在Kubernetes羣集中運行一次性bash吊艙? (像碼頭運行)
- 26. 吊艙`TensorFlow-experimental`沒有找到
- 27. Kubernetes限制是否適用於運行吊艙?
- 28. 一個吊艙將重新啓動發送SIGTERM由Kubernetes
- 29. Kubernetes:從一個吊艙內訪問「公共」網址
- 30. 吊艙安裝專用吊艙URI :: InvalidURIError - 壞URI(?是不是URI)
我試過'kubectl日誌',它是空的。 –
PMat
你記錄什麼了嗎? –