次の方法で共有


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

Azure Kubernetes Service (AKS) をサポートする新しい IP 割り当て管理 (IPAM) モードとデータプレーン テクノロジは常に存在します。 既存の AKS クラスターでは、最新の機能とサポート可能性にアクセスするために、新しい IPAM モードとデータプレーン テクノロジにアップグレードする必要があります。 この記事では、既存の AKS クラスターをアップグレードして 、IPAM モードに Azure CNI オーバーレイ を使用し、Azure CNI Powered by Cilium をデータプレーンとして使用する方法について説明します。

IPAM モードを Azure CNI オーバーレイにアップグレードする

既存のクラスターを CNI オーバーレイにアップグレードすることは、元に戻せないプロセスです。

クラスターが次の条件を満たしていれば、既存の Azure CNI クラスターをオーバーレイに更新できます。

  • クラスターが Kubernetes バージョン 1.22 以降にある。
  • 動的 IP 割り当て機能は使用しません。
  • ネットワーク ポリシーが有効になっていない。 クラスターをアップグレードする前にネットワーク ポリシー エンジンをアンインストールする必要がある場合は、「 Azure Network Policy Manager または Calico のアンインストール」の手順に従います。
  • コンテナー ランタイムとして Docker を使用する Windows ノード プールは使用しません。

警告

Windows OS ビルド 20348.1668 より前は、Windows オーバーレイ ポッドがホスト ネットワーク ポッドからのパケットを誤って SNATing する制限がありました。これは、クラスターがオーバーレイにアップグレードする場合により有害な影響を及ぼすものでした。 この問題を回避するには、 20348.1668 以上の Windows OS ビルドを使用します。

警告

  • カスタム azure-ip-masq-agent 構成を使用して、ポッドからの SNAT パケットを含めてはいけない追加の IP 範囲を含める場合、Azure CNI オーバーレイにアップグレードすると、これらの範囲への接続が切断される可能性があります。 オーバーレイ空間からのポッド IP は、クラスター ノードの外部の何かによって到達できません。
  • 古いクラスターの場合、以前のバージョンの azure-ip-masq-agentから ConfigMap が残っている可能性があります。 azure-ip-masq-agent-configという名前のこの ConfigMap が存在し、意図的に配置されていない場合は、アップグレードする前に削除する必要があります。
  • カスタム ip-masq-agent構成を使用しない場合は、Azure azure-ip-masq-agent-config-reconciled ConfigMap に関して ip-masq-agent ConfigMap のみが存在する必要があり、アップグレード プロセス中に自動的に更新されます。

アップグレード プロセスにより、各ノード プールが同時に再イメージ化されます。 各ノード プールをオーバーレイに個別にアップグレードすることはサポートされていません。 クラスター ネットワークの中断は、ノード イメージのアップグレードや Kubernetes バージョンのアップグレードに似ています。このアップグレードでは、ノード プール内の各ノードが再イメージ化されます。

az aks update コマンドを使用して、Azure CNI オーバーレイを使用するように既存の Azure 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 パラメーターが必要です。 ポッド CIDR は、ノード プールの VNet アドレスと重複することはできません。 たとえば、VNet アドレスが 10.0.0.0/8 で、ノードがサブネット 10.240.0.0/16 にある場合、--pod-cidr10.0.0.0/8 またはクラスター上の既存のサービス CIDR と重複できません。

Cilium を搭載した Azure CNI にデータプレーンをアップグレードする

別のネットワーク ポリシー エンジン (Azure NPM または Calico) を使用してクラスターで Cilium を有効にすると、ネットワーク ポリシー エンジンがアンインストールされ、Cilium に置き換えられます。 詳細については、「 Azure Network Policy Manager または Calico のアンインストール」を参照してください。

クラスターに Windows ノード プールがない場合は、既存のクラスターを Azure CNI Powered by Cilium に更新できます。

警告

アップグレード プロセスにより、各ノード プールが同時に再イメージ化されます。 各ノード プールを個別にアップグレードすることはサポートされていません。 クラスター ネットワークの中断は、ノード イメージのアップグレードや 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