使用 eksctl 建立 ACK 功能 - Amazon EKS

協助改進此頁面

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

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

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

使用 eksctl 建立 ACK 功能

本主題說明如何使用 eksctl 建立 AWS Controllers for Kubernetes (ACK) 功能。

注意

下列步驟需要 eksctl 版本 0.220.0 或更新版本。若要檢查您的版本,請執行 eksctl version

步驟 1:建立 IAM 功能角色

建立信任政策檔案:

cat > ack-trust-policy.json << 'EOF' { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "capabilities.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] } EOF

建立 IAM 角色:

aws iam create-role \ --role-name ACKCapabilityRole \ --assume-role-policy-document file://ack-trust-policy.json

AdministratorAccess受管政策連接至角色:

aws iam attach-role-policy \ --role-name ACKCapabilityRole \ --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
重要

建議AdministratorAccess的政策授予廣泛的許可,旨在簡化入門。對於生產用途,請以自訂政策取代此政策,該政策僅授予您計劃使用 ACK 管理之特定 AWS 服務所需的許可。如需建立最低權限政策的指引,請參閱 設定 ACK 許可EKS 功能的安全考量

重要

此政策使用 授予 S3 儲存貯體管理的許可"Resource": "*",允許對所有 S3 儲存貯體執行操作。

對於生產用途:* 將 Resource 欄位限制為特定儲存貯體 ARNs或名稱模式 * 使用 IAM 條件索引鍵來限制資源標籤的存取 * 僅授予使用案例所需的最低許可

如需其他服務 AWS ,請參閱 設定 ACK 許可

將政策連接到角色:

aws iam attach-role-policy \ --role-name ACKCapabilityRole \ --policy-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):policy/ACKS3Policy

步驟 2:建立 ACK 功能

使用 eksctl 建立 ACK 功能。將 region-code 取代為您的叢集所在的 AWS 區域,並將 my-cluster 取代為您的叢集名稱。

eksctl create capability \ --cluster [.replaceable]`my-cluster` \ --region [.replaceable]`region-code` \ --name ack \ --type ACK \ --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ACKCapabilityRole \ --ack-service-controllers s3
注意

--ack-service-controllers 旗標為選用。如果省略,ACK 會啟用所有可用的控制器。為了獲得更好的效能和安全性,請考慮僅啟用您需要的控制器。您可以指定多個控制器: --ack-service-controllers s3,rds,dynamodb

命令會立即傳回,但 功能需要一些時間才會變成作用中。

步驟 3:確認功能處於作用中狀態

檢查功能狀態:

eksctl get capability \ --cluster [.replaceable]`my-cluster` \ --region [.replaceable]`region-code` \ --name ack

當狀態顯示 時,此功能已就緒ACTIVE

步驟 4:確認可用的自訂資源

功能處於作用中狀態後,請確認叢集中是否有可用的 ACK 自訂資源:

kubectl api-resources | grep services.k8s.aws

您應該會看到一些針對 AWS 資源列出的 APIs。

注意

適用於 Kubernetes 的 AWS 控制器功能將為各種 AWS 資源安裝多個 CRDs。

後續步驟