Amazon EKS 和 Kubernetes 上的容器洞察快速入門設定 - Amazon CloudWatch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon EKS 和 Kubernetes 上的容器洞察快速入門設定

重要

如果您要在 Amazon EKS 叢集上安裝容器見解,建議您使用 Amazon 可 CloudWatch 觀測性EKS附加元件進行安裝,而不要使用本節中的指示。此外,若要擷取加速的運算網路,您必須使用 Amazon 可 CloudWatch 觀測性EKS附加元件。如需詳細資訊和指示,請參閱安裝 Amazon CloudWatch 觀測附加組件 EKS

若要完成設定容器洞見,您可以遵循本節中的 quick start 說明。如果您要在 Amazon EKS 叢集中進行安裝,並且在 2023 年 11 月 6 日或之後使用本節中的指示,則您可以在叢集EKS中安裝具有增強 Amazon 可觀察性的容器見解。

重要

在完成本節中的步驟之前,您必須先確認必要條件 (包括IAM權限)。如需詳細資訊,請參閱確認 先決條件

或者,您可以改為遵循下列兩節中的說明:設定 CloudWatch 代理程式以收集叢集度量將記錄檔傳送至 CloudWatch 記錄。這些部分提供有關 CloudWatch 代理程式如何與 Amazon EKS 和 Kubernetes 搭配運作的更多組態詳細資訊,但需要您執行更多安裝步驟。

使用 Container Insights 的原始版本,收集的指標和擷取的指標會按自訂指標計費。使用具有增強 Amazon 觀察能力的容器洞見EKS,容器洞察指標和日誌會按照觀察收費,而不是按照存放或擷取的指標收費。如需有關 CloudWatch 定價的詳細資訊,請參閱 Amazon CloudWatch 定價

注意

Amazon 現已推出 Fluent Bit 作為 Container Insights 的預設日誌解決方案,且效能大幅提升。我們建議您使用 Fluent Bit 而不是 Fluentd。

使用 CloudWatch 代理程式操作員和流利位元快速入門

Fluent Bit 有兩種組態:最佳化版本和提供更類似於 Fluentd 體驗的版本。Quick Start 組態使用最佳化版本。如需 Fluentd 相容組態的詳細資訊,請參閱「將流利位元設定為 DaemonSet 將記錄檔傳送至記 CloudWatch 錄」。

CloudWatch 代理程式操作員是安裝到 Amazon EKS 叢集的額外容器。它是根據 Kubernetes 的「 OpenTelemetry 運算子」建模。操作員會管理叢集中 Kubernetes 資源的生命週期。它會 AWS 在 Amazon EKS 叢集上安裝 CloudWatch 代理程式、DCGM匯出程式 (NVIDIA) 和神經元監視器,並對其進行管理。流利位元和 Windows CloudWatch 代理程式會直接安裝到 Amazon EKS 叢集,操作員無需管理它們。

為了獲得更安全且功能豐富的憑證授權單位解決方案, CloudWatch 代理程式操作員需要 cert-manager,這是 Kubernetes 中廣泛採用的憑證管理解決方案。TLS使用 Cert-manager 可簡化取得、更新、管理及使用這些憑證的程序。它可確保憑證有效且是最新的,並嘗試在到期前的設定時間更新憑證。cert-manager 也有助於從各種支援來源 (包括 Certificate Manager 專用憑 AWS 證授權單位) 發行憑證。

使用快速入門部署容器見解
  1. 如果尚未安裝在叢集中,請安裝憑證管理員。如需詳細資訊,請參閱憑證管理員安裝

  2. 輸入下列命令來安裝自訂資源定義 (CRD)。

    curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-custom-resource-definitions.yaml | kubectl apply --server-side -f -
  3. 輸入下列指令以安裝操作員。Replace (取代) my-cluster-name 使用您的 Amazon EKS 或 Kubernetes 群集的名稱,並替換 my-cluster-region 與發布日誌的地區的名稱。我們建議您使用部署叢集的相同區域,以降低輸 AWS 出資料傳輸成本。

    ClusterName=my-cluster-name RegionName=my-cluster-region curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-operator-rendered.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/g;s/{{region_name}}/'${RegionName}'/g' | kubectl apply -f -

    例如,若要在名為 MyCluster 的叢集上部署 Container Insights,並將日誌和指標發佈至美國西部 (奧勒岡),請輸入以下命令。

    ClusterName='MyCluster' RegionName='us-west-2' curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-operator-rendered.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/g;s/{{region_name}}/'${RegionName}'/g' | kubectl apply -f -

從容器深入解析移轉

如果您已在 Amazon EKS 叢集中設定容器洞見,而且想要透過增強的 Amazon 觀察能力遷移到容器見解EKS,請參閱 透過增強的 Amazon 觀察能力升級到容器見解 EKS

刪除容器洞見

如果您想要在使用快速入門設定之後移除容器深入解析,請輸入下列命令。

ClusterName=my-cluster-name RegionName=my-cluster-region curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-operator-rendered.yaml | sed 's/{{cluster_name}}/'${ClusterName}'/g;s/{{region_name}}/'${RegionName}'/g' | kubectl delete -f - curl https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/main/k8s-quickstart/cwagent-custom-resource-definitions.yaml | kubectl delete -f -