Kubernetes的故障排查一直困擾眾多運維團隊或DevOps,除了Kubernetes本身的復雜性之外,還有Kubernetes的作業負載是動態的原因,本文將介紹1個工具可以幫助你可視化K8S的網路和流量,以提升你的故障排查效率,
本文來自Rancher Labs
作為領先的多集群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團隊的一員,則需要啟動生產作業負載,對于兩個團隊來說,共同的目標都是盡快解決問題,

為什么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、標簽和命名空間,以及哪些策略接受或拒絕了連接,

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,還是僅僅想簡單了解集群意外行為的“原因”,亦或是處于生產環境中部署了大規模的作業負載狀態,使用正確的工具進行有效的故障排除將有助于你避免出現宕機和服務中斷的情況,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/24829.html
標籤:其他
上一篇:小白求教Python學習問題
