Mettez à jour le ConfigMap cloud-config pour ajouter les routes des pods à plusieurs tables de routage VPC dans les clusters managés et dédiés ACK.
Prérequis
-
Un cluster ACK utilisant le plugin réseau Flannel est créé et le composant cloud-controller-manager respecte les exigences de version suivantes :
-
Clusters ACK managed cluster :
Kubernetes ≥ 1,18
cloud-controller-manager ≥ v2.4.0
-
Clusters ACK dedicated cluster :
cloud-controller-manager ≥ v1.9.3.105-gfd4e547-aliyun
Mettre à niveau manuellement le cluster si nécessaire. Vérifiez ou mettez à jour la version du composant dans Cloud Controller Manager.
-
-
Le VPC du cluster dispose de plusieurs tables de routage.
RemarqueIgnorez cette tâche si le VPC ne contient qu'une seule table de routage.
Contexte
Un VPC doté de plusieurs tables de routage permet d'associer des instances Elastic Compute Service (ECS) à différentes tables de routage. Les versions antérieures de Cloud Controller Manager (CCM) ne prennent en charge qu'une seule table de routage par VPC. Pour activer la prise en charge de plusieurs tables de routage, mettez à jour CCM vers la dernière version. Consultez la rubrique Gérer les composants.
Obtenir les ID des tables de routage
Récupérez les ID des tables de routage depuis la console VPC.
Connectez-vous à la console VPC. Dans le volet de navigation de gauche, cliquez sur Route Tables.
-
Sur la page Route Tables, définissez le filtre sur VPC ID, saisissez l'ID du VPC de votre cluster, puis cliquez sur l'icône de recherche.

Configurer plusieurs tables de routage pour un cluster ACK managé
Spécifiez les ID des tables de routage dans la configuration CCM sur la page Add-ons.
Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Components and Add-ons .
-
Sur la page Add-ons, localisez CCM et cliquez sur Configuration.

-
Dans le champ routeTableIDs, saisissez les ID des tables de routage, puis cliquez sur OK.
Incluez l'ID de la system route table . Séparez les ID par des virgules (,). Exemple : vtb-t4n788888**,vtb-t4n7k6u3m0n840799*. Le paramètre routeTableIDs est requis uniquement pour les clusters basés sur Flannel qui utilisent plusieurs tables de routage VPC. Les clusters basés sur Terway n'ont pas besoin de ce paramètre.

Configurer plusieurs tables de routage pour un cluster ACK dédié
Spécifiez les ID des tables de routage via kubectl ou la console ACK.
Configuration avec kubectl
Assurez-vous que votre client kubectl est connecté au cluster dédié. Consultez la rubrique Obtenir le fichier kubeconfig d'un cluster et utiliser kubectl pour se connecter au cluster.
-
Ouvrez le ConfigMap cloud-config pour modification :
kubectl edit cm -n kube-system cloud-config -
Remplacez
${ROUTE_TABLES_IDS}par les ID des tables de routage de votre VPC. Incluez l'ID de la table de routage système. Séparez les ID par des virgules (,). Exemple :vtb-t4n788888****,vtb-t4n7k6u3m0n840799****.ImportantModifiez uniquement la valeur
${ROUTE_TABLES_IDS}dans le ConfigMap cloud-config."routeTableIDs": "${ROUTE_TABLES_IDS}" -
Redémarrez le pod CCM :
kubectl -n kube-system delete po -lapp=cloud-controller-managerUne fois le pod redémarré, les routes des nœuds du cluster apparaissent dans les tables de routage spécifiées.
Configuration dans la console ACK
Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur .
Sélectionnez le namespace kube-system. Localisez le ConfigMap cloud-config et cliquez sur Edit YAML.
-
Dans le panneau View in YAML, définissez routeTableIDs avec les ID des tables de routage de votre VPC. Incluez l'ID de la table de routage système. Séparez les ID par des virgules (,). Exemple : vtb-t4n788888**,vtb-t4n7k6u3m0n840799**. Cliquez sur OK.

Dans le volet de navigation de gauche de la page de gestion du cluster, choisissez .
-
Sélectionnez le namespace kube-system. Localisez le DaemonSet cloud-controller-manager et cliquez sur Batch Redeploy.
Après le redéploiement, les routes des nœuds du cluster apparaissent dans les tables de routage spécifiées.