Azure Kubernetes Service (AKS) への正常な移行を計画して実行できるように、このガイドでは、現在お勧めの AKS 構成の詳細について説明します。 この記事では、すべてのシナリオについて説明しているわけではなく、移行が成功するように計画するための詳細情報へのリンクが示されています。
Standard Load Balancer と Virtual Machine Scale Sets を使用する AKS
AKS は、管理オーバーヘッドが少ない独自の機能を提供するマネージド サービスです。 AKS はマネージド サービスであるため、AKS でサポートされている一連のリージョンから選択する必要があります。 既存のクラスターから AKS への移行中に、AKS のマネージド コントロール プレーンで正常性が維持されるよう、既存のアプリケーションの変更が必要になる場合があります。
output "resource_group_name" {
value = azurerm_resource_group.rg.name
}
output "aks_cluster_name" {
value = azurerm_kubernetes_cluster.aks_cluster.name
}
providers.tf という名前のファイルを作成し、次のコードを挿入します。
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~>3.0"
}
random = {
source = "hashicorp/random"
version = "~>3.0"
}
}
}
provider "azurerm" {
features {}
}
variables.tf という名前のファイルを作成し、次のコードを挿入します。
variable "resource_group_location" {
type = string
default = "eastus"
description = "Location of the resource group."
}
variable "resource_group_name_prefix" {
type = string
default = "rg"
description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription."
}
複数クラスターの環境では、各 AKS クラスター上のサービスを指す、Traffic Manager DNS 名に接続するようにしましょう。 これらのサービスは、Traffic Manager エンドポイントを使用して定義します。 各エンドポイントは、"サービス ロード バランサー IP" です。 この構成を使用して、あるリージョンの Traffic Manager エンドポイントから別のリージョンのエンドポイントにネットワーク トラフィックを送信します。
AKS クラスターのトラフィックをルーティングするには、Azure Front Door という選択肢もあります。 Azure Front Door を使用すると、高可用性のために最高クラスのパフォーマンスと即時グローバル フェールオーバーを最適化することで、Web トラフィックのグローバル ルーティングを定義、管理、監視することができます。
既存の継続的インテグレーションと継続的デリバリー パイプラインを使用して、既知の正常な構成を AKS にデプロイすることをお勧めします。 Azure Pipelines を使用すると、アプリケーションをビルドして AKS にデプロイできます。 既存のデプロイ タスクを複製し、kubeconfig が新しい AKS クラスターを指すようにします。
それが不可能な場合は、既存の Kubernetes クラスターからリソース定義をエクスポートし、それを AKS に適用します。 オブジェクトをエクスポートするには kubectl を使用できます。 次に例を示します。
kubectl get deployment -o yaml > deployments.yaml
必ず出力を確認し、不要なライブ データ フィールドを削除してください。
既存のリソースを別のリージョンに移動する
必要に応じて、AKS クラスターを AKS でサポートされている別のリージョンに移動することもできます。 もう一方のリージョンに新しいクラスターを作成し、その新しいクラスターにリソースとアプリケーションをデプロイすることをお勧めします。
AKS クラスターで実行されているサービスがある場合は、新しいリージョンのクラスターにそれらのサービスをインストールして構成する必要があります。
この記事では、次の移行の詳細について説明しました。
Azure Migrate によるアプリケーションのコンテナー化
Load Balancer (Standard) と Virtual Machine Scale Sets を利用する AKS