Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Il existe toujours de nouveaux modes de gestion des affectations IP (IPAM) et une technologie de plan de données prenant en charge Azure Kubernetes Service (AKS). Les clusters AKS existants doivent inévitablement être mis à niveau vers des modes IPAM plus récents et une technologie de plan de données pour accéder aux fonctionnalités et à la prise en charge les plus récentes. Cet article fournit des conseils sur la mise à niveau d’un cluster AKS existant pour utiliser la superposition Azure CNI pour le mode IPAM et Azure CNI optimisé par Cilium en tant que son plan de données.
Mettre à niveau vers la superposition Azure CNI
Remarque
Vous pouvez mettre à jour un cluster Azure CNI existant vers la superposition si le cluster répond aux critères suivants :
- Le cluster se trouve sur Kubernetes version 1.22+.
- Ne pas utiliser la fonctionnalité d’allocation d’adresses IP de pod dynamique.
- Ne doit pas présenter de stratégies réseau activées. Le moteur de stratégie réseau peut être désinstallé avant la mise à niveau. Consultez Désinstaller Azure Network Policy Manager ou Calico.
- Ne doit pas utiliser de pools de nœuds Windows avec Docker comme runtime de conteneur.
Remarque
La mise à niveau d’un cluster existant vers la superposition CNI est un processus irréversible.
Avertissement
Avant la version 20348.1668 du système d’exploitation Windows, il y avait une limitation relative aux pods de superposition Windows effectuant un SNAT incorrect des paquets depuis des pods réseau hôtes, ce qui avait un effet plus néfaste sur la mise à niveau des clusters vers la superposition. Pour éviter ce problème, utilisez la build du système d’exploitation Windows supérieure ou égale à 20348.1668.
Avertissement
Si vous utilisez une configuration azure-ip-masq-agent personnalisée pour inclure des plages d’adresses IP supplémentaires qui ne doivent pas contenir de paquets SNAT à partir de pods, la mise à niveau vers azure CNI Overlay peut interrompre la connectivité à ces plages. Les adresses IP de pod de l’espace de superposition sont inaccessibles par tout ce qui se trouve en dehors des nœuds du cluster.
Par ailleurs, pour les clusters suffisamment anciens, il peut rester un ConfigMap d’une version précédente d’azure-ip-masq-agent. Si ce ConfigMap, nommé azure-ip-masq-agent-config
, existe et n’est pas intentionnellement en place, il doit être supprimé avant d’exécuter la commande de mise à jour.
Si vous n’utilisez pas de configuration ip-masq-agent personnalisée, seul le azure-ip-masq-agent-config-reconciled
ConfigMap doit exister en ce qui concerne Azure ip-masq-agent ConfigMaps et est mis à jour automatiquement pendant le processus de mise à niveau.
Le processus de mise à niveau déclenche la reimage simultanée de chaque pool de nœuds. La mise à niveau de chaque pool de nœuds séparément vers overlay n’est pas prise en charge. Toutes les interruptions de mise en réseau de cluster sont similaires à une mise à niveau d’image de nœud ou à une mise à niveau de version kubernetes où chaque nœud d’un pool de nœuds est réimagené.
Mise à niveau de cluster Azure CNI
Mettez à jour un cluster Azure CNI existant pour utiliser Overlay à l’aide de la commande az aks update
.
clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"
az aks update --name $clusterName \
--resource-group $resourceGroup \
--network-plugin-mode overlay \
--pod-cidr 192.168.0.0/16
Le --pod-cidr
paramètre est requis lorsque vous effectuez une mise à niveau à partir de CNI hérité, car les pods doivent obtenir des adresses IP à partir d’un nouvel espace de superposition, qui ne chevauche pas le sous-réseau de nœud existant. Le CIDR du pod ne peut pas non plus chevaucher une adresse de réseau virtuel des pools de nœuds. Par exemple, si l’adresse de votre réseau virtuel est 10.0.0.0/8, et que vos nœuds se trouvent dans le sous-réseau 10.240.0.0.0/16, le --pod-cidr
ne peut pas chevaucher 10.0.0.0/8 ou le CIDR de service existant sur le cluster.
Mise à niveau de cluster Kubenet
Mettez à jour un cluster Kubenet existant pour utiliser une superposition Azure CNI en tirant parti de la commande az aks update
.
clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"
az aks update --name $clusterName \
--resource-group $resourceGroup \
--network-plugin azure \
--network-plugin-mode overlay
Étant donné que le cluster utilise déjà un CIDR privé pour les pods qui ne chevauchent pas l’espace IP du réseau virtuel, vous n’avez pas besoin de spécifier le --pod-cidr
paramètre et le CIDR de pod reste le même si le paramètre n’est pas utilisé.
Remarque
Lors de la mise à niveau de Kubenet vers la superposition CNI, la table de routage n’est plus nécessaire pour le routage des pods. Si le cluster utilise une table de routage fournie par le client, les itinéraires utilisés pour diriger le trafic pod vers le nœud approprié sont automatiquement supprimés pendant l’opération de migration. Si le cluster utilise une table de routage managée (AKS crée la table de routage qui réside dans le groupe de ressources de nœud), cette table de routage est supprimée dans le cadre de la migration.
Mettre à niveau un cluster de sous-réseaux de nœuds
Mettez à jour un cluster de sous-réseau de nœud existant pour utiliser Overlay Azure CNI à l’aide de la commande az aks update
.
clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"
az aks update --name $clusterName \
--resource-group $resourceGroup \
--network-plugin azure \
--network-plugin-mode overlay
Remarque
Lors de la mise à niveau du sous-réseau de nœud, mettez à niveau uniquement le mode réseau IPAM ou le plan de données. La mise à niveau dans une seule opération n’est pas prise en charge.
Mettre à niveau vers Azure CNI avec Cilium
Remarque
Vous pouvez mettre à jour un cluster existant vers Azure CNI avec Cilium si le cluster répond aux critères suivants :
- Le cluster n’a pas de pools de nœuds Windows.
Remarque
Lorsque vous activez Cilium dans un cluster avec un autre moteur de stratégie réseau (Azure NPM ou Calico), le moteur de stratégie réseau est désinstallé et remplacé par Cilium. Pour plus d’informations, consultez Désinstaller Azure Network Policy Manager ou Calico.
Avertissement
Le processus de mise à niveau déclenche la reimage simultanée de chaque pool de nœuds. La mise à niveau de chaque pool de nœuds séparément n’est pas prise en charge. Toutes les interruptions de mise en réseau d'un cluster sont similaires à une mise à niveau de l'image d'un nœud ou à une mise à niveau de la version de Kubernetes, où chaque nœud d'un pool de nœuds est reformaté. Cilium commence à appliquer des stratégies réseau uniquement après la réimage de tous les nœuds.
Pour effectuer la mise à niveau, vous avez besoin d’Azure CLI version 2.52.0 ou ultérieure. Exécutez az --version
pour vérifier la version installée. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.
Utilisez la commande suivante pour mettre à niveau un cluster existant vers Azure CNI avec Cilium. Remplacez les valeurs de <clusterName>
et <resourceGroupName>
:
az aks update --name <clusterName> --resource-group <resourceGroupName> \
--network-dataplane cilium
Azure Kubernetes Service