

 **協助改進此頁面** 

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

若要為本使用者指南貢獻內容，請點選每個頁面右側面板中的**在 GitHub 上編輯此頁面**連結。

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

# 比較 ACK 與自我管理 ACK 的 EKS 功能
<a name="ack-comparison"></a>

EKS 的 ACK 功能提供與自我管理 ACK 控制器相同的功能，但具有顯著的操作優勢。如需 EKS 功能與自我管理解決方案的一般比較，請參閱 [EKS 功能考量事項](capabilities-considerations.md)。本主題著重於 ACK 特定的差異。

## 與上游 ACK 的差異
<a name="_differences_from_upstream_ack"></a>

ACK 的 EKS 功能是以上游 ACK 控制器為基礎，但在 IAM 整合中有所不同。

 **IAM 功能角色**：此功能使用專用 IAM 角色搭配信任政策，允許`capabilities.eks.amazonaws.com`服務主體，而不是 IRSA （服務帳戶的 IAM 角色）。您可以直接將 IAM 政策連接至功能角色，而不需要建立或註釋 Kubernetes 服務帳戶或設定 OIDC 供應商。生產使用案例的最佳實務是使用 設定服務許可`IAMRoleSelector`。如需詳細資訊，請參閱[設定 ACK 許可](ack-permissions.md)。

 **工作階段標籤**： 受管功能會自動在所有 AWS API 請求上設定工作階段標籤，啟用精細存取控制和稽核。標籤包括 `eks:eks-capability-arn`、 `eks:kubernetes-namespace`和 `eks:kubernetes-api-group`。這與自我管理的 ACK 不同，其預設不會設定這些標籤。如需在 [設定 ACK 許可](ack-permissions.md) IAM 政策中使用工作階段標籤的詳細資訊，請參閱 。

 **資源標籤**： 功能會將不同的預設標籤套用至 AWS 資源，而非自我管理的 ACK。此功能使用字`eks:`首標籤 （例如 `eks:kubernetes-namespace`、`eks:eks-capability-arn`)，而不是自我管理 ACK 使用的`services.k8s.aws/`標籤。如需預設資源標籤的完整清單，[EKS 的 ACK 考量事項](ack-considerations.md)請參閱 。

 **資源相容性**：ACK 自訂資源的運作方式與上游 ACK 相同，不會變更您的 ACK 資源 YAML 檔案。該功能使用相同的 Kubernetes APIs 和 CRDs，因此 等工具`kubectl`的運作方式相同。支援來自上游 ACK 的所有 GA 控制器和資源。

如需完整的 ACK 文件和服務特定指南，請參閱 [ACK 文件](https://aws-controllers-k8s.github.io/community/)。

## 遷移路徑
<a name="_migration_path"></a>

您可以從自我管理的 ACK 遷移到受管功能，無需停機：

1. 更新您的自我管理 ACK 控制器以`kube-system`用於領導者選擇租用，例如：

   ```
   helm upgrade --install ack-s3-controller \
     oci://public.ecr.aws/aws-controllers-k8s/s3-chart \
     --namespace ack-system \
     --set leaderElection.namespace=kube-system
   ```

   這會將控制器的租用移至 `kube-system`，允許受管功能與其協調。

1. 在叢集上建立 ACK 功能 （請參閱 [建立 ACK 功能](create-ack-capability.md))

1. 受管功能可識別現有的 ACK 受管 AWS 資源並接管對帳

1. 逐步縮減或移除自我管理控制器部署：

   ```
   helm uninstall ack-s3-controller --namespace ack-system
   ```

此方法可讓兩個控制器在遷移期間安全地共存。受管功能會自動採用先前由自我管理控制器管理的資源，確保持續對帳而不會發生衝突。

## 後續步驟
<a name="_next_steps"></a>
+  [建立 ACK 功能](create-ack-capability.md) - 建立 ACK 功能資源
+  [ACK 概念](ack-concepts.md) - 了解 ACK 概念和資源生命週期
+  [設定 ACK 許可](ack-permissions.md) - 設定 IAM 和許可