1個工具,助你提升K8S故障排查效率!

作為領先的多集群Kubernetes管理平臺,Rancher使運維團隊可以部署、管理和保護企業的Kubernetes集群。Rancher還為用戶提供了一系列容器網絡接口(CNI)選項可供選擇,包括開源項目Calico(

https://www.projectcalico.org/)。Calico為Kubernetes Pod提供了原生Layer3路由功能,從而簡化了網絡架構,提高了網絡性能,並提供了豐富的網絡策略模型,可以輕鬆地阻止通信。因此,只有你指定的流量才能流動。


在部署Kubernetes過程一個常見的問題是獲取對集群環境的可見性,以有效監控網絡和安全問題並進行故障排除。可見性和故障排查(https://www.tigera.io/tigera-products/visibility-and-troubleshooting/)是我們在Tigera上看到的3大Kubernetes用例之一。這在生產部署中尤其重要,因為宕機時間十分寶貴並且分佈式應用很難進行故障排查。如果你是平臺團隊的一員,你還需要承受SLA的壓力。如果你是DevOps團隊的一員,則需要啟動生產工作負載。對於兩個團隊來說,共同的目標都是儘快解決問題。


1個工具,助你提升K8S故障排查效率!


為什麼K8S故障排查如此具有挑戰性?


由於Kubernetes工作負載是動態的,因此連接問題十分難以解決。而常規的網絡監控工具是為靜態環境設計的。它們無法理解Kubernetes上下文並且當應用到Kubernetes時並不高效。如果沒有特定的Kubernetes診斷工具,對於平臺團隊而言,進行故障排除會令人沮喪。例如,當pod-to-pod的連接被拒絕時,幾乎無法確定哪個網絡安全策略拒絕了流量。當然,你可以手動登錄到節點並查看系統日誌,但這並不可行也無法擴展到多個節點。


基於此,你十分需要一種方法來快速查明任何連接或安全問題的根源。或者更好的是,能夠有一些具備預見性的工具,從而避免出現問題。隨著Kubernetes部署規模的擴大,圍繞可見性、監控和日誌記錄的限制可能導致無法診斷的系統故障,從而導致服務中斷並影響客戶滿意度和你的業務。


流量日誌以及流量可見性


對在生產上運行Rancher的用戶,Calico Enterprise(https://www.tigera.io/tigera-products/calico-enterprise/)網絡流量日誌可以為解決Kubernetes網絡和安全問題提供了堅實的基礎。例如,流量日誌可用於運行queries以分析來自既定命名空間或工作負載標籤的所有流量。但是,要有效地對Kubernetes環境進行故障排查,你需要帶有Kubernetes特定數據的流量日誌,例如pod、標籤和命名空間,以及哪些策略接受或拒絕了連接。


1個工具,助你提升K8S故障排查效率!

Calico Enterprise Flow Visualizer

Rancher用戶中有很大一部分屬於DevOps團隊。儘管傳統的ITOps具有管理網絡和安全策略,但我們看到DevOps團隊正在尋找能夠實現自給自足並加快CI/CD流程的解決方案。對於在生產環境中運行的Rancher用戶,Calico Enterprise包含Flow Visualizer,這是一個功能強大的工具,可簡化連接故障排查。這種方法可以直觀地與網絡流量進行交互並對其進行深入研究。DevOps可以使用此工具進行故障排查和策略創建,而ITOps可以使用RBAC建立策略層次結構以實施保護,因此DevOps團隊不會覆蓋任何企業範圍的策略。


防火牆可以為安全團隊創建可見空間


Kubernetes工作負載大量使用網絡併產生大量東西流量。如果你在Kubernetes架構中部署常規的防火牆,則將無法可視化流量以及故障排查。防火牆並不瞭解Kubernetes流量所需的上下文(命名空間、Pod、標籤、container id等)。這樣就無法對網絡問題進行故障排除,進行取證分析或報告安全控制措施是否合規。


為了獲得所需的可見性,Rancher用戶可以部署Calico Enterprise,將基於區域的防火牆規則轉換為Kubernetes網絡策略,該策略將集群劃分為各個區域並應用正確的防火牆規則。然後,可以使用現有的防火牆和防火牆管理器來定義區域並在Kubernetes中創建規則,就像創建所有其他規則一樣。可以將流量穿越區域發送到安全團隊的安全信息和事件管理平臺(SIEM),從而為它們提供與常規防火牆相同的可見性,以進行故障排除。


其他Kubernetes故障排除注意事項


對於使用Rancher平臺的平臺、網絡、DevOps和安全團隊,Tigera提供了其他可見性和監控工具,可幫助你更快地進行故障排除:


  • 可以向所有監控的數據添加閾值和警報。例如,拒絕的流量激增會向你的DevOps團隊或安全運維中心(SOC)發出警報,以進行進一步調查。
  • Filter使你能夠按命名空間、pod和視圖狀態(例如允許或拒絕的流量)進行深入分析。
  • 能夠將日誌存儲在EFK(Elasticsearch、Fluentd和Kibana)堆棧中以供將來訪問。


無論你是剛剛接觸Kubernetes,還是僅僅想簡單瞭解集群意外行為的“原因”,亦或是處於生產環境中部署了大規模的工作負載狀態,使用正確的工具進行有效的故障排除將有助於你避免出現宕機和服務中斷的情況。


分享到:


相關文章: