協助改進此頁面
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 CLI 建立 ACK AWS 功能
本主題說明如何使用 CLI 建立 AWS Controllers for Kubernetes (ACK) AWS 功能。
先決條件
-
AWS CLI – 版本
2.12.3或更新版本。若要檢查您的版本,請執行aws --version。如需詳細資訊,請參閱《 AWS 命令列界面使用者指南》中的安裝。 -
kubectl:命令列工具,適用於使用 Kubernetes 叢集。如需詳細資訊,請參閱設定 kubectl 和 eksctl。
步驟 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 功能
在叢集上建立 ACK 功能資源。將 region-code 取代為您的叢集所在的 AWS 區域,並將 my-cluster 取代為您的叢集名稱。
aws eks create-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-ack \ --type ACK \ --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ACKCapabilityRole \ --delete-propagation-policy RETAIN
命令會立即傳回,但當 EKS 建立所需的功能基礎設施和元件時,功能需要一些時間才會變成作用中。EKS 會在建立叢集時,在叢集中安裝與此功能相關的 Kubernetes 自訂資源定義。
注意
如果您收到叢集不存在或您沒有許可的錯誤,請驗證:
-
叢集名稱正確
-
您的 AWS CLI 已設定為正確的區域
-
您擁有必要的 IAM 許可
步驟 3:確認功能處於作用中狀態
等待 功能變成作用中。將 region-code 取代為您的叢集所在的 AWS 區域,並將 my-cluster 取代為您的叢集名稱。
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-ack \ --query 'capability.status' \ --output text
當狀態顯示 時,此功能已就緒ACTIVE。在狀態為 之前,請勿繼續下一個步驟ACTIVE。
您也可以檢視完整的功能詳細資訊:
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-ack
步驟 4:確認可用的自訂資源
功能處於作用中狀態後,請確認叢集中是否有可用的 ACK 自訂資源:
kubectl api-resources | grep services.k8s.aws
您應該會看到一些針對 AWS 資源列出的 APIs。
注意
適用於 Kubernetes 的 AWS 控制器功能將為各種 AWS 資源安裝多個 CRDs。