Terraform で AKS クラスタをデプロイ

このラボでは、デジタル コミック サイトの開発チーム向けに、モノリスから移行する Kubernetes クラスタを IaC で立ち上げます。Terraform の HCL で AKS リソースを宣言し、`init / plan / apply` のサイクルでクラスタをデプロイし、最後に `kubectl` でノードの稼働を確認します。 学習目標: - Cloud Shell に File Share をマウントし、Terraform 作業ディレクトリを準備する - `providers.tf` / `variables.tf` / `aks.tf` / `output.tf` の 4 ファイルに役割を分離して記述する - Terraform で **既存の Resource Group をインポート** する手順を理解する - AKS クラスタ(System Assigned Managed Identity 認証)を Terraform でデプロイする - `terraform output` で kubeconfig を取り出し、`kubectl get nodes` で稼働確認する 前提知識: - Cloud Shell および bash の基本コマンド - Terraform の基本概念(providers / resources / variables / outputs) - Kubernetes の基本概念(Pod / Node / kubectl) 完了条件: - AKS クラスタ `k8s` が `japaneast` にデプロイされていること - ノード数 3 で稼働中であること - `kubectl get nodes` がすべてのノードを `Ready` で返すこと

上級60Azure 実環境

ラボの構成

  1. 1Azure Portal にサインイン
  2. 2Cloud Shell を開いて Storage をマウントする
  3. 3作業ディレクトリを作成する
  4. 4providers.tf を作成する
  5. 5プレースホルダを実値で置き換える
  6. 6Terraform を初期化して既存 RG をインポートする
  7. 7variables.tf を作成する
  8. 8SSH キー ペアを生成する
  9. 9aks.tf を作成する
  10. 10output.tf を作成する
  11. 11Terraform で AKS をデプロイする
  12. 12kubectl で動作を検証する
  13. 13(任意)サンプル Pod をデプロイする
  14. 14結果を考察する

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

構成図

構成図

参考リソース