既存の Azure Kubernetes Service (AKS) クラスターでは、最新の機能とサポート可能性にアクセスするために、新しい IP 割り当て管理 (IPAM) モードとデータ プレーン テクノロジを更新する必要があります。 この記事では、既存の AKS クラスターを更新して、IPAM モードに Azure CNI オーバーレイを使用し、Azure CNI Powered by Cilium をデータ プレーンとして使用する方法について説明します。
IPAM モードを Azure CNI オーバーレイに更新する
既存のクラスターを Azure CNI オーバーレイに更新することは、元に戻せないプロセスです。
クラスターが次の場合は、既存の AKS クラスターを Azure CNI オーバーレイに更新できます。
- Kubernetes バージョン 1.27 以降を使用しています。
- 動的 IP 割り当て機能は使用しません。
- ネットワーク ポリシーが有効になっていない。 クラスターを更新する前にネットワーク ポリシー エンジンをアンインストールする必要がある場合は、「 Azure Network Policy Manager または Calico のアンインストール」の手順に従います。
- コンテナー ランタイムとして Docker を使用する Windows ノード プールは使用しません。
Windows OS ビルド 20348.1668 より前は、ソース ネットワーク アドレス変換 (SNAT) 経由でホスト ネットワーク ポッドからパケットを誤ってルーティングする Windows オーバーレイ ポッドに関する制限がありました。 この制限は、Azure CNI オーバーレイに更新されていたクラスターに悪影響を与えました。 この問題を回避するには、Windows OS ビルド 20348.1668 以降を使用します。
Warnung
カスタム
azure-ip-masq-agent構成を使用して、ポッドから SNAT パケットを送信してはならない追加の IP 範囲を含める場合、Azure CNI オーバーレイに更新すると、これらの範囲への接続が切断される可能性があります。 オーバーレイ空間からのポッド IP は、クラスター ノードの外部の何かによって到達できません。古いクラスターの場合、ConfigMap は以前のバージョンの
azure-ip-masq-agentから残っている可能性があります。 この ConfigMap (azure-ip-masq-agent-configという名前) が存在し、意図的に配置されていない場合は、更新する前に削除する必要があります。カスタム
ip-masq-agent構成を使用していない場合は、Azureazure-ip-masq-agent-config-reconciledConfigMap に関してip-masq-agentConfigMap のみが存在する必要があります。 更新プロセス中に自動的に更新されます。
更新プロセスでは、ノード プールの再イメージ化が同時にトリガーされます。 各ノード プールを Azure CNI オーバーレイに個別に更新することはサポートされていません。 クラスター ネットワークの中断は、ノード イメージの更新や Kubernetes バージョンのアップグレードに似ています。このアップグレードでは、ノード プール内の各ノードが再イメージ化されます。
az aks update コマンドを使用して、Azure CNI オーバーレイを使用するように既存の Azure Container Networking Interface (CNI) クラスターを更新します。
az aks update \
--name $CLUSTER_NAME \
--resource-group $RESOURCE_GROUP \
--network-plugin-mode overlay \
--pod-cidr 192.168.0.0/16
ポッドは新しいオーバーレイ領域から IP を取得する必要があるため、レガシ CNI プラグインから更新する場合は、 --pod-cidr パラメーターが必要です。 新しいオーバーレイ領域は、既存の Azure CNI ノード サブネット プラグインと重複しません。
ポッドのクラスレス Inter-Domain ルーティング (CIDR) は、ノード プールの仮想ネットワーク アドレスと重複することもできません。 たとえば、仮想ネットワーク アドレスが 10.0.0.0/8 で、ノードがサブネット 10.240.0.0/16 にある場合、 --pod-cidr パラメーターはクラスター上の 10.0.0.0/8 または既存のサービス CIDR と重複できません。
Cilium を使用してデータ プレーンを Azure CNI に更新する
別のネットワーク ポリシー エンジン (Azure ネットワーク ポリシー マネージャーまたは Calico) を使用するクラスターで Cilium を有効にすると、ネットワーク ポリシー エンジンがアンインストールされ、Cilium に置き換えられます。 詳細については、「 Azure Network Policy Manager または Calico のアンインストール」を参照してください。
クラスターに Windows ノード プールがない場合は、既存のクラスターを Azure CNI Powered by Cilium に更新できます。
Warnung
更新プロセスでは、ノード プールの再イメージ化が同時にトリガーされます。 各ノード プールを個別に更新することはサポートされていません。 クラスター ネットワークの中断は、ノード イメージの更新や Kubernetes バージョンのアップグレード に似ています。このアップグレードでは、ノード プール内の各ノードが再イメージ化されます。 Cilium は、すべてのノードが再イメージ化された後でのみ、ネットワーク ポリシーの適用を開始します。
更新を実行するには、Azure CLI バージョン 2.52.0 以降が必要です。 現在インストールされているバージョンを確認するには、az --version を実行します。 インストールまたはアップグレードする必要がある場合は、「 Azure CLI のインストール」を参照してください。
az aks update コマンドを使用して、既存のクラスターを Azure CNI Powered by Cilium に更新します。
az aks update \
--name $CLUSTER_NAME \
--resource-group $RESOURCE_GROUP \
--network-dataplane cilium
Azure Kubernetes Service