

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

# 從增強型容器洞見 （傳統） 遷移至 OTel 容器洞見
<a name="container-insights-eks-migrate-from-classic"></a>

增強型容器洞見 （傳統） 和 OTel 容器洞見都使用相同的 `amazon-cloudwatch-observability` Amazon EKS 附加元件。遷移是就地附加元件版本更新，您可以在 15-30 分鐘內完成。

**警告**  
使用 Classic 指標名稱設定的 CloudWatch 警示不會自動使用 OTel 指標。您必須使用以 PromQL 為基礎的警示規則重新建立警示。

## 先決條件
<a name="container-insights-eks-migrate-from-classic-prereqs"></a>

開始遷移之前，請確認您符合下列要求。
+ 執行 Kubernetes 1.28 版或更新版本的 Amazon EKS 叢集
+ 附加`amazon-cloudwatch-observability`元件已安裝且處於 `ACTIVE` 狀態
+ AWS CLI 2.15.0 版或更新版本
+ `kubectl` 設定為與您的目標叢集通訊
+ 連接 `CloudWatchAgentServerPolicy`受管政策的 IAM 角色

## 突破性變更
<a name="container-insights-eks-migrate-from-classic-breaking"></a>

在開始遷移之前，請檢閱下列重大變更。

### 已移除功能
<a name="container-insights-eks-migrate-from-classic-removed"></a>

OTel Container Insights 不提供下列功能：
+ **StatsD 自訂指標** — 請改用 OTel StatsD 接收器。
+ **收集的外掛程式** — 遷移至 OTel 原生檢測。

### 已變更的預設值
<a name="container-insights-eks-migrate-from-classic-defaults"></a>

下表顯示 Classic 和 OTel Container Insights 之間變更的預設值。


| 設定 | 傳統預設 | OTel CI 預設 | 
| --- | --- | --- | 
| 收集間隔 | 60 秒 | 60 秒 | 
| 增強可觀測性 | 已啟用 | 已啟用 | 
| 代理程式 CPU 請求 | 200 m | 100 公尺 | 
| 代理程式記憶體請求 | 200Mi | 128Mi | 

## 移轉步驟
<a name="container-insights-eks-migrate-from-classic-steps"></a>

此遷移使用分階段方法將監控差距降至最低。您可以平行執行 Classic 和 OTel 指標串流、驗證資料，然後停用 Classic 串流。

### 階段 1：確認目前狀態 （僅限傳統）
<a name="container-insights-eks-migrate-from-classic-phase1"></a>

在進行變更之前，請確認您目前的附加元件狀態，並記錄版本以供轉返。

**確認您目前的附加元件組態**

1. 執行下列命令來檢查目前的附加元件狀態。

   ```
   aws eks describe-addon \
     --cluster-name {{cluster-name}} \
     --addon-name amazon-cloudwatch-observability
   ```

1. 確認 `status` 欄位為 `ACTIVE`。

1. 記錄 `addonVersion`值。如果您必須轉返，則需要此值。

### 階段 2：啟用雙重發佈 （傳統 \+ OTel)
<a name="container-insights-eks-migrate-from-classic-phase2"></a>

啟用 OTel Container Insights 與增強型容器洞見 （傳統）。這會同時發佈兩個指標串流，以便您可以驗證資料對等性。

**重要**  
這兩個指標串流都會在此階段產生費用。我們建議您盡可能縮短雙發佈時段，以將成本降至最低。

**啟用雙重發佈**

1. 執行下列命令，在啟用兩個串流的情況下更新附加元件。

   ```
   aws eks update-addon \
     --cluster-name {{cluster-name}} \
     --addon-name amazon-cloudwatch-observability \
     --addon-version {{latest-version}} \
     --configuration-values '{"containerInsights":{"enabled":true},"otelContainerInsights":{"enabled":true}}' \
     --resolve-conflicts OVERWRITE
   ```

1. 等待附加元件狀態傳回 `ACTIVE`。

   ```
   aws eks describe-addon \
     --cluster-name {{cluster-name}} \
     --addon-name amazon-cloudwatch-observability \
     --query "addon.status"
   ```

1. 透過使用 PromQL 查詢已知指標，確認 OTel 指標出現在 CloudWatch 中。

### 階段 3：重新建立警示和更新儀表板
<a name="container-insights-eks-migrate-from-classic-phase3"></a>

為現有的 Classic 警示和儀表板建置 OTel 替換。在此階段期間，請將 Classic 警示保持為作用中的安全網。

**為 OTel 指標重新建立警示**

1. 識別參考 Classic Container Insights 指標名稱的所有 CloudWatch 警示。

1. 使用參考 OTel 指標名稱的 PromQL 型指標數學表達式建立對等警示。

1. 驗證新警示是否進入 `OK` 狀態，並產生同等的閾值評估。

1. 更新任何 CloudWatch 儀表板，以包含以 OTel 指標為基礎的小工具，以及現有的 Classic Widget。

### 階段 4：停用傳統 （僅切換到 OTel)
<a name="container-insights-eks-migrate-from-classic-phase4"></a>

驗證 OTel 指標、警示和儀表板是否正常運作後，請停用 Classic 串流。

**停用 Classic 並僅保留 OTel**

1. 執行下列命令來停用 Classic 指標發佈。

   ```
   aws eks update-addon \
     --cluster-name {{cluster-name}} \
     --addon-name amazon-cloudwatch-observability \
     --configuration-values '{"containerInsights":{"enabled":false},"otelContainerInsights":{"enabled":true}}' \
     --resolve-conflicts OVERWRITE
   ```

1. 等待附加元件狀態傳回 `ACTIVE`。

1. 移除您在階段 3 中取代的 Classic 警示。

## 驗證
<a name="container-insights-eks-migrate-from-classic-verify"></a>

完成遷移後，請確認可觀測性堆疊是否正常運作。
+ **檢查 Query Studio 中的指標** — 使用 PromQL 查詢來確認指標從 OTel 管道流動。
+ **與基準值比較** — 確認指標值與您在階段 2 期間記錄的 Classic 指標一致。
+ **驗證 Container Insights 儀表板** — 確認 Container Insights 主控台會顯示叢集的資料。
+ **驗證日誌交付** — 檢查容器日誌是否繼續出現在 CloudWatch Logs 中。
+ **驗證警示** — 確認沒有警示處於 `INSUFFICIENT_DATA` 狀態。

## 轉返
<a name="container-insights-eks-migrate-from-classic-rollback"></a>

如果您在遷移後遇到問題，您可以還原先前的 Classic 組態。

**轉返至增強型容器洞見 （傳統）**

1. 識別您在階段 1 中記錄的先前附加元件版本。

1. 執行下列命令來降級附加元件。

   ```
   aws eks update-addon \
     --cluster-name {{cluster-name}} \
     --addon-name amazon-cloudwatch-observability \
     --addon-version {{previous-version}} \
     --resolve-conflicts OVERWRITE
   ```

1. 等待附加元件狀態傳回 `ACTIVE`。

   ```
   aws eks describe-addon \
     --cluster-name {{cluster-name}} \
     --addon-name amazon-cloudwatch-observability \
     --query "addon.status"
   ```

1. 重新套用您用於先前版本的任何自訂組態值。