VPC、vSwitch、およびアドオンが自動的にプロビジョニングされる、Terway ベースの ACK 専用クラスターをデプロイします。
このコードは、OpenAPI Portal のブラウザ上で実行できます。
ACK 専用クラスターの作成には制限があります。アクセスをリクエストするには、チケットを送信 してください。
前提条件
以下を確認してください。
-
Container Service for Kubernetes (ACK) がアクティブ化されていること (Terraform を使用して ACK をアクティブ化)。
-
Terraform を実行する RAM ユーザー用の AccessKey ペアが作成されていること (AccessKey ペアの作成、RAM ユーザー)。
Alibaba Cloud ルートアカウントではなく、RAM ユーザーを使用してください。限定的な権限により、認証情報が侵害された場合のリスクを軽減できます。
-
以下の最小限の権限ポリシーが RAM ユーザーにアタッチされていること。 Virtual Private Cloud (VPC)、vSwitch、および ACK クラスターの作成、表示、削除に対応します (権限の付与)。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "vpc:CreateVpc", "vpc:CreateVSwitch", "vpc:DescribeRouteTableList", "vpc:DescribeVpcAttribute", "vpc:ListEnhancedNatGatewayAvailableZones", "vpc:DescribeVSwitchAttributes", "vpc:DescribeNatGateways", "cs:CreateCluster", "cs:DescribeTaskInfo", "cs:DescribeClusterDetail", "cs:DescribeClusterCerts", "cs:CheckControlPlaneLogEnable", "vpc:DeleteVpc", "vpc:DeleteVSwitch", "cs:DeleteCluster" ], "Resource": "*" } ] } -
Terraform v0.12.28 以降。
terraform --versionで確認してください。オプション
最適な用途
Terraform Explorer — オンライン、インストール不要
無料で迅速なテストとデバッグ
Cloud Shell — プリインストール済み、認証情報が事前設定済み
ローカルセットアップなしで迅速かつ便利に実行
Resource Orchestration Service (ROS) — マネージド Terraform
Alibaba Cloud、AWS、Azure のリソースを定義するテンプレートによるライフサイクル管理
カスタム開発環境または制限されたネットワークアクセス
-
alicloud_instance_types:特定の条件を満たす Elastic Compute Service (ECS) インスタンスタイプをクエリします。
-
alicloud_vpc:VPC を作成します。
-
alicloud_vswitch:VPC 内に vSwitch (サブネット) を作成します。
-
alicloud_resource_manager_resource_groups:RAM ユーザーが管理するリソースグループをクエリします。
-
alicloud_cs_kubernetes:ACK 専用クラスターを作成します。
Terraform リソース
この構成では、以下のリソースを使用します。料金が発生するため、不要になったらリリースしてください。
|
リソース |
用途 |
|
特定の条件を満たす ECS インスタンスタイプをクエリ |
|
|
VPC を作成 |
|
|
VPC 内に vSwitch (サブネット) を作成 |
|
|
RAM ユーザーが管理するリソースグループをクエリ |
|
|
ACK 専用クラスターを作成 |
この構成では、3 つのゾーンすべてで利用可能なインスタンスタイプを選択し、コントロールプレーン ノードがどのゾーンでもスケジュールできるようにします。
コンソールから Terraform パラメータを生成
サンプルが要件に合わない場合は、ACK コンソールからパラメータを生成してください。
-
ACK コンソールにログインします。左側のナビゲーションペインで、[クラスター]をクリックします。
-
[クラスター] ページで、[クラスターテンプレート] をクリックします。
-
クラスタータイプを選択して [作成] をクリックし、[クラスター設定] ページでクラスターを設定します。
-
[確認] ページで、[Console-to-Code] をクリックします。
-
サイドバーで、[Terraform] タブをクリックし、生成されたパラメーターをコピーします。
Terway を使用した ACK 専用クラスターの作成
以下の手順では、Terway を使用した ACK 専用クラスターを作成します。この構成では、VPC、3 つのコントロールプレーン vSwitch、3 つの Terway Pod vSwitch、およびクラスター、合計 8 つのリソースがプロビジョニングされます。
ステップ 1: 構成ファイルの作成
ステップ 2: 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.
ステップ 3: 実行計画のプレビュー
terraform plan
適用せずに、計画されたリソースの変更をプレビューします。
計画が成功すると、次のように表示されます。
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.
...
Plan: 8 to add, 0 to change, 0 to destroy.
...
ステップ 4: クラスターの作成
terraform apply
プロンプトが表示されたら、yes と入力し、Enter キーを押します。
適用が成功すると、次のように表示されます。
...
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
...
alicloud_cs_managed_kubernetes.default: Creation complete after 8m26s [id=************]
Apply complete! Resources: 8 added, 0 changed, 0 destroyed.
クラスターの検証
terraform apply が完了したら、いずれかの方法でクラスターを検証します:
terraform show コマンドの実行
オプション 1: terraform show を使用
terraform show
Terraform が作成したすべてのリソースとその現在の状態を一覧表示します。
ACK コンソールへのログオン
オプション 2: ACK コンソールで確認
ACK コンソールにログインし、新しいクラスターが[クラスター] リストに表示されることを確認します。
リソースのクリーンアップ
terraform destroy を実行すると、この構成で作成されたすべてのリソースが完全に削除されます。この操作は元に戻すことはできません。
リソースを解放します。 terraform destroy オプションについては、共通コマンドをご参照ください。
terraform destroy
プロンプトが表示されたら、yes と入力して Enter キーを押します。 破棄が成功すると、次のように返されます。
...
Do you really want to destroy all resources?
Terraform will destroy all your managed infrastructure, as shown above.
There is no undo. Only 'yes' will be accepted to confirm.
Enter a value: yes
...
Destroy complete! Resources: 8 destroyed.
サンプルコード
次のステップ
-
Terraform を使用してアドオンを管理 — クラスター用のアドオンをインストール
-
Terraform を使用して自動スケーリングが有効なノードプールを作成 — クラスターにマネージドノードプールを追加
-
Terraform スタックの作成 — ROS で Terraform テンプレートをデプロイ