View a markdown version of this page

使用 eksctl 建立 ACK 功能 - Amazon EKS

協助改進此頁面

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

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

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

使用 eksctl 建立 ACK 功能

使用 eksctl 在 Amazon EKS 叢集上建立 ACK 功能。

注意

下列步驟需要 eksctl 版本 0.215.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 功能的安全考量

步驟 2:建立 ACK 功能

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

eksctl create capability \ --cluster my-cluster \ --region 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 my-cluster \ --region region-code \ --name ack

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

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

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

kubectl api-resources | grep services.k8s.aws

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

注意

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

後續步驟