Member-only story
AzureにおけるKubernetes
24 min readMar 2, 2023
本番環境向けクラスタ構築のための初級者向けガイド(後半)
長い記事なので、前半と後半の2つに分けて投稿いたします。今回は後半です。
AKSクラスタを他のリソースと接続する仮想ネットワーク(VNet)の設定
Kubernetesクラスターを実行するために必要なリソースをコンフィギュアする場合、仮想ネットワーク、サブネット、ロードバランサーなどに関しては、細部にまで注意を払うことが重要です。そうすることでクラスターが外の世界と通信できるようにします。Terraformを使えば、これらのリソースを一貫した再現性のある方法で簡単に定義・管理することができ、最適なパフォーマンスを確保することができます。Kubernetesの初心者であろうと経験者であろうと、アプリケーションやサービスをスムーズに動かすためには、時間をかけてクラスタを適切にコンフィギュアすることが重要です。
仮想ネットワーク(VNET)とサブネットの設定について考えることは重要です。既存のVNETを使用するか、AKSクラスター用に新しいVNETを作成することができます。これにより、クラスターが使用するIPアドレスを制御し、ロードバランサーのようなAzureサービスを使用できるようになります。また、内部または外部のロードバランサーのようなロードバランシングオプションをコンフィギュアして、トラフィックがうまく分散されるようにすることができます。
フォルダvnetを作成し、そこに移動して、以下のテラフォーム・ファイルを作成します。
terraform {
backend "azurerm" {
resource_group_name = "bgx-terraform-rg"
storage_account_name = "bgxterraformstorage"
container_name = "tfstate"
key = "vnet-terraform.tfstate"
}
}
provider "azurerm" {
features {}
}
resource "azurerm_resource_group" "resource_group" {
name = "${var.name}-rg"
location = var.location
}
resource "azurerm_virtual_network" "virtual_network" {
name = "${var.name}-vnet"
location = var.location
resource_group_name = azurerm_resource_group.resource_group.name
address_space = [var.network_address_space]
}
resource "azurerm_subnet" "aks_subnet" {
name = var.aks_subnet_address_name
resource_group_name = azurerm_resource_group.resource_group.name
virtual_network_name =…