次の方法で共有


Azure Kubernetes Service (AKS) クラスターの Azure CNI IPAM モードとデータ プレーン テクノロジを更新する

既存の 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構成を使用していない場合は、Azure azure-ip-masq-agent-config-reconciled ConfigMap に関して ip-masq-agent ConfigMap のみが存在する必要があります。 更新プロセス中に自動的に更新されます。

更新プロセスでは、ノード プールの再イメージ化が同時にトリガーされます。 各ノード プールを 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