本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
登入 Amazon EKS 的最佳實務
下列最佳實務有助於為您的 Amazon EKS 環境建立強大、可擴展且高效的記錄系統,並為您的 Kubernetes 叢集提供更好的疑難排解、監控和整體管理。
-
集中日誌收集:使用集中式日誌解決方案,例如 CloudWatch Logs、Elasticsearch 或第三方服務,從所有元件彙總日誌。這可為日誌分析提供單一存取點,並簡化管理。
-
實作結構化日誌:使用 JSON 等結構化日誌格式,以便更輕鬆地剖析和搜尋日誌。包含相關中繼資料,例如時間戳記、日誌層級和來源識別符。
-
適當使用日誌層級:在您的應用程式中實作適當的日誌層級 (例如
DEBUG、WARN、INFO和ERROR)。設定生產環境以適當層級記錄,以避免過度記錄。 -
啟用容器記錄:將容器設定為登入
stdout和stderr。這可讓 Kubernetes 擷取這些日誌並將其轉送至您選擇的記錄解決方案。 -
啟用應用程式記錄:設定應用程式將日誌寫入
stdout和stderr,而不是寫入日誌檔案。這遵循 12 個因素的應用程式方法,並與雲端原生最佳實務保持一致。 -
使用 Kubernetes DaemonSets 進行日誌收集:將日誌收集代理程式 (例如 Fluent Bit) 部署為 DaemonSets,以確保它們在您的叢集中的每個節點上執行。
-
實作保留政策:定義和強制執行日誌保留政策,以符合法規和管理儲存成本。
-
安全日誌資料:加密傳輸中和靜態的日誌。實作存取控制以限制誰可以檢視和管理日誌。
-
監控日誌擷取:設定日誌擷取失敗或延遲的提醒,以確保持續記錄。
-
使用 Kubernetes 註釋和標籤:使用 Kubernetes 註釋和標籤將中繼資料新增至日誌,以改善可搜尋性和篩選。
-
實作分散式追蹤:使用 AWS X-Ray或 Jaeger 等分散式追蹤工具,跨微服務關聯日誌。
-
最佳化日誌磁碟區:選擇您的日誌內容,以避免不必要的成本和效能問題。對大量、低值日誌使用取樣。
-
實作日誌彙總:使用 Logstash 等工具從多個來源彙總日誌,再將它們傳送到您的中央記錄系統。
-
AWS 服務 盡可能使用:CloudWatch Logs 和 Container Insights 等服務可與其他 無縫整合 AWS 服務。
-
實作日誌分析和視覺化:使用 CloudWatch Logs Insights、Elasticsearch with Kibana 或第三方解決方案等工具進行日誌分析和視覺化。
-
實作自動化日誌分析:使用機器學習和 AI 支援的工具自動偵測日誌中的異常和模式。
-
記錄您的記錄策略:為您的團隊維護記錄架構、實務和工具的清楚文件。