

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

# 在 CloudWatch 中驗證 Container Insights 的先決條件
<a name="Container-Insights-prerequisites"></a>

在 Amazon EKS 或 Kubernetes 上安裝 Container Insights 前，請檢查下列各項：無論您使用 CloudWatch 代理程式或 AWS Distro for OpenTelemetry 在 Amazon EKS 叢集上設定 Container Insights，這些先決條件都適用。
+ 您擁有可運作的 Amazon EKS 或 Kubernetes 叢集，且其中包含在支援 Amazon EKS 和 Kubernetes Container Insights 的其中一個區域中連接的節點。如需支援區域的清單，請參閱 [Container Insights](ContainerInsights.md)。
+ 您已安裝和執行 `kubectl`。如需詳細資訊，請參閱*《Amazon EKS 使用者指南》*中的[安裝 `kubectl`](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html)。
+ 如果您使用的是在 上執行的 Kubernetes， AWS 而不是使用 Amazon EKS，則還需要下列先決條件：
  + 請確定 Kubernetes 叢集已啟用以角色為基礎的存取控制 (RBAC)。如需詳細資訊，請參閱 Kubernetes 參考中的[使用 RBAC 授權](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)。
  + kubelet 已啟用 Webhook 授權模式。如需詳細資訊，請參閱 Kubernetes 參考中的 [Kubelet authentication/authorization](https://kubernetes.io/docs/reference/access-authn-authz/kubelet-authn-authz/)。

您也必須授與 IAM 許可，讓您的 Amazon EKS 工作節點能夠傳送指標和日誌到 CloudWatch。有兩種方式可以進行：
+ 將政策連接至工作節點的 IAM 角色。這適用於 Amazon EKS 叢集和其他 Kubernetes 叢集。
+ 針對叢集的服務帳戶使用 IAM 角色，並將政策連接至此角色。這僅適用於 Amazon EKS 叢集。

第一個選項會授與 CloudWatch 整個節點的許可，而使用服務帳戶的 IAM 角色只會提供 CloudWatch 適當的 daemonset pod 存取權。

**將政策連接至工作節點的 IAM 角色**

請依照下列步驟將政策連接至工作節點的 IAM 角色。這適用於 Amazon EKS 外部的 Amazon EKS 叢集和 Kubernetes 叢集。

**若要將必要的政策連接至工作節點的 IAM 角色**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 選取其中一個工作節點執行個體，然後在描述中選擇 IAM 角色。

1. 在 IAM role (IAM 角色) 頁面上，選擇 **Attach policies** (連接政策)。

1. 在政策清單中，選取 **CloudWatchAgentServerPolicy** 旁的核取方塊。如有需要，請使用搜尋方塊來尋找此政策。

1. 選擇**連接政策**。

如果您是在 Amazon EKS 之外執行 Kubernetes 叢集，您可能還沒有將 IAM 角色連接到工作節點。如果不是，您必須依照之前步驟中的說明，先將 IAM 角色連接至該執行個體，然後再新增政策。如需有關將角色連接至執行個體的詳細資訊，請參閱*《Amazon EC2 使用者指南》*中的[將 IAM 角色連接至執行個體](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/iam-roles-for-amazon-ec2.html#attach-iam-role)。

若您是在 Amazon EKS 外部執行 Kubernetes 叢集，且您希望在指標中收集 EBS 磁碟區 ID，您必須將另一個政策新增到連接至執行個體的 IAM 角色。新增以下內容作為內嵌政策。如需詳細資訊，請參閱*《IAM 使用者指南》*中的[新增和移除 IAM 身分許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "ec2:DescribeVolumes"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

**使用 IAM 服務帳戶角色**

此方法僅適用於 Amazon EKS 叢集。

**若要使用 IAM 服務帳戶角色授與 CloudWatch 許可**

1. 如果您尚未這麼做，請為叢集上的服務帳戶啟用 IAM 角色。如需詳細資訊，請參閱[為叢集上的服務帳戶啟用 IAM 角色 ](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html)。

1. 若尚未就緒，請將服務帳戶設定為使用 IAM 角色。如需詳細資訊，請參閱[設定要擔任 IAM 角色的 Kubernetes 服務帳戶](https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html)。

   當您建立角色時，除了將 **CloudWatchAgentServerPolicy** IAM 政策連接至您為該角色建立的政策之外，也請連接至該角色。此外，應該在 `amazon-cloudwatch` 命名空間中建立連結至此角色的相關聯 Kubernetes 服務帳戶，其中 CloudWatch 和 Fluent Bit 程式集將在接下來的步驟中部署

1. 如果您尚未這麼做，請將 IAM 角色與叢集中的服務帳戶建立關聯。如需詳細資訊，請參閱[設定要擔任 IAM 角色的 Kubernetes 服務帳戶](https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html)。