初めて Container Service for Kubernetes (ACK) を使用する場合は、Terraform を使用して ACK を有効化し、必要なサービスロールを割り当てます。
このトピックのサンプルコードは、ここここここ をクリックすると直接実行できます。
ACK コンソールで代わりにロールを認可するには、RAM ユーザー権限の管理をご参照ください。
前提条件
以下を確認してください。
-
RAM ユーザーの AccessKey ペア
ルートアカウントではなく、RAM ユーザーを使用してください。権限を制限することで、認証情報が漏洩した場合の影響を軽減できます。
-
RAM ユーザーにアタッチする次のポリシーは、ここで使用する Terraform コマンドを実行するための最小限の権限を付与します。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "ram:GetRole", "ram:ListRoles", "ram:AttachPolicyToRole", "ram:ListPoliciesForRole", "ram:CreateRole", "ram:DetachPolicyFromRole", "ram:DeleteRole" ], "Resource": "*" } ] } -
Terraform ランタイム環境 (いずれか 1 つを選択):
オプション
最適な用途
ブラウザベースのセットアップ、インストール不要
Terraform がプリインストールされ、認証情報が設定済み
不安定なネットワークまたはカスタム環境
使用する Terraform リソース
-
alicloud_ack_service:ACK を自動的に有効化。
-
alicloud_ram_role:RAM ロールを作成。
-
alicloud_ram_role_policy_attachment:ポリシーを RAM ロールにアタッチ。
-
alicloud_ram_roles:指定されたフィルターに一致するアカウント内の RAM ロールを一覧表示。
すべての例で、これらの Terraform リソースを使用します:
|
リソース |
タイプ |
目的 |
|
データソース |
ACK を自動的に有効化 |
|
|
リソース |
RAM ロールを作成 |
|
|
リソース |
ポリシーを RAM ロールにアタッチ |
|
|
データソース |
指定されたフィルターに一致するアカウント内の RAM ロールを一覧表示 |
ステップ 1: ACK の有効化
-
main.tfファイルを含む作業ディレクトリを作成し、次の内容をコピーします。// ACK を有効化します。 data "alicloud_ack_service" "open" { enable = "On" type = "propayasgo" } -
Terraform ランタイム環境を初期化します。
terraform init初期化が成功すると、次の出力が表示されます。
Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work. If you ever set or change modules or backend configuration for Terraform, rerun this command to reinitialize your working directory. If you forget, other commands will detect it and remind you to do so if necessary. -
ACK を有効化します。
terraform applyプロンプトが表示されたら、
yesと入力し、[Enter] キーを押します。ACK 有効化の出力は次のとおりです。Apply complete! Resources: 0 added, 0 changed, 0 destroyed.
ステップ 2:ACK へのサービスロールの割り当て
Container Service for Kubernetes (ACK) でクラスターを作成する前に、アドオンがお客様に代わって他の Alibaba Cloud サービスにアクセスできるよう、Resource Access Management (RAM) サービスロールが必要です。
複数回実行しても安全です。既存のロールはスキップされ、不足しているロールのみが作成されます。
サービスロールと、それを使用する ACK コンポーネント:
|
ロール |
アドオン |
アクセス対象のクラウドサービス |
|
|
ロギングコンポーネント |
Simple Log Service (SLS) |
|
|
モニタリングコンポーネント |
CloudMonitor、SLS |
|
|
ボリュームプラグイン |
Elastic Compute Service (ECS)、File Storage NAS (NAS)、Object Storage Service (OSS) |
|
|
ボリュームプラグイン (csi-plugin) |
ECS |
|
|
ボリュームプラグイン (csi-provisioner) |
ECS、NAS、OSS |
|
|
VK コンポーネント (ACK Serverless) |
複数の Alibaba Cloud サービス |
|
|
ACK Serverless と Edge のデフォルトロール |
ECS、Virtual Private Cloud (VPC)、Server Load Balancer (SLB)、Alibaba Cloud DNS PrivateZone |
|
|
監査機能 |
SLS |
|
|
ネットワークプラグイン |
ECS、VPC |
|
|
ACK クラスター管理 (デフォルト) |
ECS、VPC、SLB、Resource Orchestration Service (ROS)、Auto Scaling |
|
|
ACK マネージドクラスターと Edge クラスターのデフォルトロール |
ECS、VPC、SLB、Container Registry |
|
|
ARMS コンポーネント |
Application Real-Time Monitoring Service (ARMS) |
|
|
Container Intelligence Service (CIS) |
ECS、VPC、SLB (診断) |
|
|
ノードプールスケーリング (OOS) |
ACK、ECS、PolarDB |
|
|
オートスケーリングコンポーネント |
ECS、ACK ノードプールリソース |
ユースケースに応じてロールを選択してください。以下の変数ブロックで default リストを調整してください。
-
main.tfに次のコードをコピーしてください:// 作成する RAM ロール。 variable "roles" { type = list(object({ name = string policy_document = string description = string policy_name = string })) default = [ { name = "AliyunCSManagedLogRole" policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}" description = "ACK クラスターのロギングコンポーネントがこのロールを引き受け、他の Alibaba Cloud サービスのリソースにアクセスします。" policy_name = "AliyunCSManagedLogRolePolicy" }, { name = "AliyunCSManagedCmsRole" policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}" description = "ACK クラスターのモニタリングコンポーネントがこのロールを引き受け、他の Alibaba Cloud サービスのリソースにアクセスします。" policy_name = "AliyunCSManagedCmsRolePolicy" }, { name = "AliyunCSManagedCsiRole" policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}" description = "ACK クラスターのボリュームプラグインがこのロールを引き受け、他の Alibaba Cloud サービスのリソースにアクセスします。" policy_name = "AliyunCSManagedCsiRolePolicy" }, { name = "AliyunCSManagedCsiPluginRole" policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}" description = "ACK クラスターのボリュームプラグインがこのロールを引き受け、他の Alibaba Cloud サービスのリソースにアクセスします。" policy_name = "AliyunCSManagedCsiPluginRolePolicy" }, { name = "AliyunCSManagedCsiProvisionerRole" policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}" description = "ACK クラスターのボリュームプラグインがこのロールを引き受け、他の Alibaba Cloud サービスのリソースにアクセスします。" policy_name = "AliyunCSManagedCsiProvisionerRolePolicy" }, { name = "AliyunCSManagedVKRole" policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}" description = "ACK Serverless クラスターの VK コンポーネントがこのロールを引き受け、他の Alibaba Cloud サービスのリソースにアクセスします。" policy_name = "AliyunCSManagedVKRolePolicy" }, { name = "AliyunCSServerlessKubernetesRole" policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}" description = "デフォルトでは、ACK クラスターがこのロールを引き受け、クラウドリソースにアクセスします。" policy_name = "AliyunCSServerlessKubernetesRolePolicy" }, { name = "AliyunCSKubernetesAuditRole" policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}" description = "ACK の監査機能がこのロールを引き受け、他の Alibaba Cloud サービスのリソースにアクセスします。" policy_name = "AliyunCSKubernetesAuditRolePolicy" }, { name = "AliyunCSManagedNetworkRole" policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}" description = "ACK クラスターのネットワークプラグインがこのロールを引き受け、他の Alibaba Cloud サービスのリソースにアクセスします。" policy_name = "AliyunCSManagedNetworkRolePolicy" }, { name = "AliyunCSDefaultRole" policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}" description = "デフォルトでは、ACK クラスターの管理時に ACK がこのロールを引き受け、他の Alibaba Cloud サービスのリソースにアクセスします。" policy_name = "AliyunCSDefaultRolePolicy" }, { name = "AliyunCSManagedKubernetesRole" policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}" description = "デフォルトでは、ACK クラスターがこのロールを引き受け、クラウドリソースにアクセスします。" policy_name = "AliyunCSManagedKubernetesRolePolicy" }, { name = "AliyunCSManagedArmsRole" policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}" description = "ACK クラスターの Application Real-Time Monitoring Service (ARMS) プラグインがこのロールを引き受け、他の Alibaba Cloud サービスのリソースにアクセスします。" policy_name = "AliyunCSManagedArmsRolePolicy" }, { name = "AliyunCISDefaultRole" policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}" description = "Container Intelligence Service (CIS) がこのロールを引き受け、他の Alibaba Cloud サービスのリソースにアクセスします。" policy_name = "AliyunCISDefaultRolePolicy" }, { name = "AliyunOOSLifecycleHook4CSRole" policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"oos.aliyuncs.com\"]}}],\"Version\":\"1\"}" description = "Operation Orchestration Service (OOS) がこのロールを引き受け、他の Alibaba Cloud サービスのリソースにアクセスします。ACK は OOS を利用してノードプールをスケーリングします。" policy_name = "AliyunOOSLifecycleHook4CSRolePolicy" }, { name = "AliyunCSManagedAutoScalerRole" policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}" description = "ACK クラスターのオートスケーリングコンポーネントがこのロールを引き受け、他の Alibaba Cloud サービスのノードプールリソースにアクセスします。" policy_name = "AliyunCSManagedAutoScalerRolePolicy" } ] } // 既存の RAM ロールをクエリします。 data "alicloud_ram_roles" "roles" { policy_type = "Custom" name_regex = "^Aliyun.*Role$" } locals { # 作成するすべてのロール名。 all_role_names = [for role in var.roles : role.name] # 既存のロール。 created_role_names = [for role in data.alicloud_ram_roles.roles.roles : role.name] # 作成が必要なロール (差集合)。 complement_names = setsubtract(local.all_role_names, local.created_role_names) # 完全なリストをフィルターして、作成が必要なロールのみを取得します。 complement_roles = [for role in var.roles : role if contains(local.complement_names, role.name)] } // RAM ロールを作成します。 resource "alicloud_ram_role" "role" { for_each = { for r in local.complement_roles : r.name => r } name = each.value.name document = each.value.policy_document description = each.value.description force = true } // システムポリシーを RAM ロールにアタッチします。 resource "alicloud_ram_role_policy_attachment" "attach" { for_each = { for r in local.complement_roles : r.name => r } policy_name = each.value.policy_name policy_type = "System" role_name = each.value.name depends_on = [alicloud_ram_role.role] } -
変更をプレビューしてください:
terraform plan -
変更を適用してください:
terraform applyプロンプトが表示されたら、
yesと入力して [Enter] キーを押してください。ロール作成の出力:Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
結果の確認
いずれかの方法でロールが存在することを確認します。
terraform show の実行
terraform show
D:\tool\terraform\projects\ack>terraform show
# alicloud_ram_role.role["AliyunCISDefaultRole"]:
resource "alicloud_ram_role" "role" {
arn = "acs:ram::14xxx64:role/aliyuncisdefaultrole"
description = "Container Intelligence Service (CIS) がこのロールを引き受け、他の Alibaba Cloud サービスのリソースにアクセスします。"
document = jsonencode(
{
Statement = [
{
Action = "sts:AssumeRole"
Effect = "Allow"
Principal = {
Service = [
"cs.aliyuncs.com",
]
}
},
]
Version = "1"
}
)
force = true
id = "AliyunCISDefaultRole"
max_session_duration = 3600
name = "AliyunCISDefaultRole"
ram_users = []
role_id = "30xxx91"
services = [
"cs.aliyuncs.com",
]
version = "1"
}
# alicloud_ram_role.role["AliyunCSDefaultRole"]:
resource "alicloud_ram_role" "role" {
arn = "acs:ram::14xxx64:role/aliyuncsdefaultrole"
description = "デフォルトでは、ACK クラスターの管理時に ACK がこのロールを引き受け、他の Alibaba Cloud サービスのリソースにアクセスします。"
document = jsonencode(
{
Statement = [
{
Action = "sts:AssumeRole"
Effect = "Allow"
Principal = {
Service = [
"cs.aliyuncs.com",
]
}
},
]
Version = "1"
}
)
force = true
id = "AliyunCSDefaultRole"
max_session_duration = 3600
name = "AliyunCSDefaultRole"
ram_users = []
role_id = "30xxx91"
services = [
"cs.aliyuncs.com",
]
version = "1"
}
RAM コンソールでの確認
RAM コンソールにログインし、作成されたロールを確認します。
ナビゲーションペインで、[ID] > [ロール] を選択してロール一覧ページを開きます。このページには、ACK クラスター用に作成されたすべてのロールについて、ロール名、ロールタイプ、説明、作成日時などが一覧表示されます。[操作] 列で、[権限付与] または [ロールの削除] をクリックできます。
リソースの削除
Terraform で作成したすべてのリソースを削除します。
terraform destroy
共通コマンドをご参照ください。
完全なサンプルコード
付録
サービスロール
AliyunCSManagedLogRole
ACK マネージド、エッジ、およびサーバーレスクラスターのロギングコンポーネントがこのロールを引き受けて、Simple Log Service (SLS) のリソースにアクセスします。
name = "AliyunCSManagedLogRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "ACK クラスターのロギングコンポーネントがこのロールを引き受けて、他の Alibaba Cloud サービスのリソースにアクセスします。"
policy_name = "AliyunCSManagedLogRolePolicy"
AliyunCSManagedCmsRole
ACK マネージド、エッジ、およびサーバーレスクラスターのモニタリングコンポーネントがこのロールを引き受けて、CloudMonitor や SLS などのクラウドサービスのリソースにアクセスします。
name = "AliyunCSManagedCmsRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "ACK クラスターの CMS コンポーネントがこのロールを引き受けて、他の Alibaba Cloud サービスのリソースにアクセスします。"
policy_name = "AliyunCSManagedCmsRolePolicy"
AliyunCSManagedCsiRole
ACK マネージド、エッジ、およびサーバーレスクラスターのボリュームプラグインがこのロールを引き受けて、Elastic Compute Service (ECS)、File Storage NAS (NAS)、および Object Storage Service (OSS) のリソースにアクセスします。
name = "AliyunCSManagedCsiRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "ACK クラスターのボリュームプラグインがこのロールを引き受けて、他の Alibaba Cloud サービスのリソースにアクセスします。"
policy_name = "AliyunCSManagedCsiRolePolicy"
AliyunCSManagedCsiPluginRole
ACK マネージド、エッジ、およびサーバーレスクラスターの csi-plugin コンポーネントがこのロールを引き受けて、ECS のリソースにアクセスします。
name = "AliyunCSManagedCsiPluginRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "ACK マネージドクラスター、ACK エッジクラスター、および ACK サーバーレスクラスターのボリュームプラグイン (新しい csi-plugin) がこのロールを引き受けて、ECS のリソースにアクセスします。"
policy_name = "AliyunCSManagedCsiPluginRolePolicy"
AliyunCSManagedCsiProvisionerRole
ACK マネージド、エッジ、およびサーバーレスクラスターの csi-provisioner コンポーネントがこのロールを引き受けて、ECS、NAS、および OSS のリソースにアクセスします。
name = "AliyunCSManagedCsiProvisionerRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "ACK マネージドクラスター、ACK エッジクラスター、および ACK サーバーレスクラスターのボリュームプラグイン (新しい csi-provisioner) がこのロールを引き受けて、ECS、NAS、および OSS のリソースにアクセスします。"
policy_name = "AliyunCSManagedCsiProvisionerRolePolicy"
AliyunCSServerlessKubernetesRole
ACK エッジおよびサーバーレスクラスターがこのロールを引き受けて、ECS、Virtual Private Cloud (VPC)、Server Load Balancer (SLB)、および Alibaba Cloud DNS PrivateZone のリソースにアクセスします。
name = "AliyunCSServerlessKubernetesRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "デフォルトでは、ACK サーバーレスクラスターがこのロールを引き受けて、他のクラウドサービスのリソースにアクセスします。"
policy_name = "AliyunCSServerlessKubernetesRolePolicy"
AliyunCSKubernetesAuditRole
ACK マネージド、エッジ、およびサーバーレスクラスターの監査コンポーネントがこのロールを引き受けて、SLS のリソースにアクセスします。
name = "AliyunCSKubernetesAuditRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "ACK の監査機能がこのロールを引き受けて、他の Alibaba Cloud サービスのリソースにアクセスします。"
policy_name = "AliyunCSKubernetesAuditRolePolicy"
AliyunCSManagedNetworkRole
ACK マネージド、エッジ、およびサーバーレスクラスターのネットワークプラグインがこのロールを引き受けて、ECS および VPC のリソースにアクセスします。
name = "AliyunCSManagedNetworkRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "ACK クラスターのネットワークプラグインがこのロールを引き受けて、他の Alibaba Cloud サービスのリソースにアクセスします。"
policy_name = "AliyunCSManagedNetworkRolePolicy"
AliyunCSDefaultRole
ACK がクラスターを管理する際に、このロールを引き受けて、ECS、VPC、SLB、Resource Orchestration Service (ROS)、および Auto Scaling のリソースにアクセスします。
name = "AliyunCSDefaultRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "デフォルトでは、ACK クラスターを管理する際に、ACK がこのロールを引き受けて、他の Alibaba Cloud サービスのリソースにアクセスします。"
policy_name = "AliyunCSDefaultRolePolicy"
AliyunCSManagedKubernetesRole
ACK マネージドおよびエッジクラスターがこのロールを引き受けて、ECS、VPC、SLB、および Container Registry のリソースにアクセスします。
name = "AliyunCSManagedKubernetesRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "デフォルトでは、ACK クラスターがこのロールを引き受けて、お客様のクラウドリソースにアクセスします。"
policy_name = "AliyunCSManagedKubernetesRolePolicy"
AliyunCSManagedArmsRole
ACK エッジおよびサーバーレスクラスターの Application Real-Time Monitoring Service (ARMS) コンポーネントがこのロールを引き受けて、ARMS のリソースにアクセスします。
name = "AliyunCSManagedArmsRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "ACK クラスターの ARMS プラグインがこのロールを引き受けて、他の Alibaba Cloud サービスのリソースにアクセスします。"
policy_name = "AliyunCSManagedArmsRolePolicy"
AliyunCISDefaultRole
Container Intelligence Service (CIS) がこのロールを引き受けて、診断および巡回検査のために ECS、VPC、および SLB のリソースにアクセスします。
name = "AliyunCISDefaultRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "CIS がこのロールを引き受けて、他の Alibaba Cloud サービスのリソースにアクセスします。"
policy_name = "AliyunCISDefaultRolePolicy"
AliyunOOSLifecycleHook4CSRole
Operation Orchestration Service (OOS) がこのロールを引き受けて、ACK、ECS、および PolarDB のリソースにアクセスします。ACK はノードプールのスケーリングに OOS を使用します。
name = "AliyunOOSLifecycleHook4CSRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"oos.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "OOS がこのロールを引き受けて、他の Alibaba Cloud サービスのリソースにアクセスします。ACK はノードプールのスケーリングに OOS を使用します。"
policy_name = "AliyunOOSLifecycleHook4CSRolePolicy"
オプションのロール
これらのロールは、基本的なクラスター作成にはオプションですが、特定の機能に必要です。
AliyunCSManagedAcrRole
ACK マネージド、エッジ、およびサーバーレスクラスターの Secret フリーのイメージプルプラグインがこのロールを引き受けて、Container Registry のリソースにアクセスします。
name = "AliyunCSManagedAcrRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "ACK クラスターの Secret フリーのイメージプルコンポーネントがこのロールを引き受けて、Container Registry からイメージをプルします。"
policy_name = "AliyunCSManagedAcrRolePolicy"
AliyunCSManagedNlcRole
ACK マネージドおよびエッジクラスターのノードライフサイクルコントローラーがこのロールを引き受けて、ECS および ACK のノードプールリソースにアクセスします。
name = "AliyunCSManagedNlcRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "ACK クラスターのマネージドノードプールコントローラーがこのロールを引き受けて、ECS および ACK のノードプールリソースにアクセスします。"
policy_name = "AliyunCSManagedNlcRolePolicy"
AliyunCSManagedAutoScalerRole
ACK マネージド、エッジ、およびサーバーレスクラスターの自動スケーリングコンポーネントがこのロールを引き受けて、ECS および ACK のノードプールリソースにアクセスします。
name = "AliyunCSManagedAutoScalerRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "ACK クラスターの自動スケーリングコンポーネントがこのロールを引き受けて、ECS および ACK のノードプールリソースにアクセスします。"
policy_name = "AliyunCSManagedAutoScalerRolePolicy"
AliyunCSManagedSecurityRole
ACK マネージド、エッジ、およびサーバーレスクラスターの Secret の暗号化・認証情報管理コンポーネントがこのロールを引き受けて、Key Management Service (KMS) のリソースにアクセスします。
name = "AliyunCSManagedSecurityRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "ACK クラスターの Secret の暗号化コンポーネントがこのロールを引き受けて、Key Management Service (KMS) のリソースにアクセスします。"
policy_name = "AliyunCSManagedSecurityRolePolicy"
AliyunCSManagedCostRole
ACK マネージド、エッジ、およびサーバーレスクラスターのコスト分析コンポーネントがこのロールを引き受けて、ECS および Elastic Container Instance のリソースにアクセスし、Bills Management API を呼び出します。
name = "AliyunCSManagedCostRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "ACK クラスターのコスト分析コンポーネントがこのロールを引き受けて、ECS および Elastic Container Instance のリソースにアクセスし、Bills Management API を呼び出します。"
policy_name = "AliyunCSManagedCostRolePolicy"
AliyunCSManagedNimitzRole
ACK Lingjun クラスターのネットワークプラグインがこのロールを引き受けて、Intelligent Computing LINGJUN のリソースにアクセスします。
name = "AliyunCSManagedNimitzRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "ACK Lingjun クラスターのネットワークプラグインがこのロールを引き受けて、Intelligent Computing LINGJUN のリソースにアクセスします。"
policy_name = "AliyunCSManagedNimitzRolePolicy"
AliyunCSManagedBackupRestoreRole
ACK マネージド、エッジ、およびサーバーレスクラスターのバックアップセンターコンポーネントがこのロールを引き受けて、Cloud Backup および Object Storage Service (OSS) のリソースにアクセスします。
name = "AliyunCSManagedBackupRestoreRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "ACK クラスターのバックアップセンターコンポーネントがこのロールを引き受けて、Cloud Backup および OSS のリソースにアクセスします。"
policy_name = "AliyunCSManagedBackupRestoreRolePolicy"
AliyunCSManagedEdgeRole
ACK エッジクラスターのコントロールコンポーネントがこのロールを引き受けて、SAG、VPC、および CEN のリソースにアクセスします。
name = "AliyunCSManagedEdgeRole"
policy_document = "{\"Statement\":[{\"Action\":\"sts:AssumeRole\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"cs.aliyuncs.com\"]}}],\"Version\":\"1\"}"
description = "ACK エッジクラスターのコントロールコンポーネントがこのロールを引き受けて、SAG、VPC、および CEN のリソースにアクセスします。"
policy_name = "AliyunCSManagedEdgeRolePolicy"
次のステップ
-
Terraform スタックの作成:Resource Orchestration Service (ROS) を使用して、ROS コンソールからテンプレートをデプロイします