[{"data":1,"prerenderedAt":1678},["ShallowReactive",2],{"docs-page-fr-ca-\u002Ffr-ca\u002Fdocs\u002Fservices\u002Feks":3,"docs-navigation-fr-ca":1585,"docs-surround-fr-ca-\u002Ffr-ca\u002Fdocs\u002Fservices\u002Feks":1673},{"id":4,"title":5,"body":6,"claimDependencies":1567,"description":1571,"extension":1572,"locale":1573,"meta":1574,"missingMedia":1575,"navigation":534,"owner":1576,"path":1577,"reviewStatus":1578,"seo":1579,"staleLinks":1580,"stem":1581,"technicalRisk":1582,"translationKey":1583,"__hash__":1584},"docs_fr_ca\u002Ffr-ca\u002Fdocs\u002F5.services\u002F3.eks.md","Optimisation EKS",{"type":7,"value":8,"toc":1529},"minimark",[9,13,18,21,50,54,59,62,67,87,92,118,122,125,129,133,153,157,177,181,201,205,219,223,227,230,236,253,261,267,287,292,311,316,332,336,339,344,355,360,374,379,393,398,412,416,419,424,429,439,442,446,452,455,459,465,468,472,478,482,485,491,495,498,503,735,740,903,907,911,916,931,936,954,958,961,982,986,991,1008,1013,1027,1031,1045,1049,1053,1058,1069,1074,1085,1089,1093,1104,1108,1119,1123,1127,1138,1142,1153,1157,1161,1172,1177,1188,1192,1196,1201,1207,1212,1215,1220,1223,1228,1231,1235,1240,1243,1251,1256,1274,1279,1281,1292,1296,1310,1314,1319,1339,1344,1358,1362,1365,1437,1446,1450,1453,1485,1488,1493,1525],[10,11,12],"p",{},"Jetscale fournit une optimisation des coûts pilotée par l'IA pour les clusters Amazon EKS (Elastic Kubernetes Service). Nos agents spécialisés analysent l'utilisation des groupes de nœuds, les types d'instances, les configurations de capacité et la tarification pour identifier les opportunités de dimensionnement optimal, de migration Graviton et d'optimisation Spot.",[14,15,17],"h2",{"id":16},"vue-densemble","Vue d'ensemble",[10,19,20],{},"Jetscale optimise les clusters EKS en analysant :",[22,23,24,32,38,44],"ul",{},[25,26,27,31],"li",{},[28,29,30],"strong",{},"Utilisation des groupes de nœuds"," : CPU, mémoire, réseau et utilisation disque sur tous les nœuds",[25,33,34,37],{},[28,35,36],{},"Efficacité du type d'instance"," : Si les types d'instances actuels correspondent aux besoins réels des charges de travail",[25,39,40,43],{},[28,41,42],{},"Type de capacité"," : Opportunités ON_DEMAND vs. SPOT pour les charges de travail tolérantes aux pannes",[25,45,46,49],{},[28,47,48],{},"Analyse des coûts"," : Coûts du plan de contrôle, coûts des groupes de nœuds et potentiel d'optimisation",[14,51,53],{"id":52},"types-eks-pris-en-charge","Types EKS pris en charge",[55,56,58],"h3",{"id":57},"clusters-eks","Clusters EKS",[10,60,61],{},"Jetscale traite chaque groupe de nœuds au sein d'un cluster de manière indépendante, générant des recommandations par groupe de nœuds avec une vue agrégée au niveau du cluster.",[10,63,64],{},[28,65,66],{},"Modèles de calcul pris en charge :",[22,68,69,75,81],{},[25,70,71,74],{},[28,72,73],{},"Managed Node Groups"," : Gérés par AWS, configuration explicite du type d'instance",[25,76,77,80],{},[28,78,79],{},"Karpenter"," : Sélection dynamique des instances avec gestion native des interruptions Spot",[25,82,83,86],{},[28,84,85],{},"Self-Managed Nodes"," : Instances EC2 lancées en dehors des groupes de nœuds gérés EKS",[10,88,89],{},[28,90,91],{},"Ce que nous optimisons :",[22,93,94,100,106,112],{},[25,95,96,99],{},[28,97,98],{},"Dimensionnement optimal du type de nœud"," : Faire correspondre les types d'instances aux besoins réels des charges de travail",[25,101,102,105],{},[28,103,104],{},"Migration Graviton"," : Basculer vers des instances ARM pour 10-40% d'économies",[25,107,108,111],{},[28,109,110],{},"Optimisation Spot"," : Déplacer les charges de travail tolérantes aux pannes vers la capacité Spot pour 60-90% d'économies",[25,113,114,117],{},[28,115,116],{},"Suppression des ressources inutilisées"," : Supprimer les clusters ou groupes de nœuds inactifs pour 100% d'économies",[55,119,121],{"id":120},"groupes-de-nœuds-eks","Groupes de nœuds EKS",[10,123,124],{},"Jetscale optimise également les groupes de nœuds autonomes avec les mêmes types d'analyse et de recommandations que le traitement au niveau du cluster.",[14,126,128],{"id":127},"familles-dinstances","Familles d'instances",[55,130,132],{"id":131},"usage-général-série-m","Usage général (série M)",[22,134,135,141,147],{},[25,136,137,140],{},[28,138,139],{},"M7g"," (Graviton3, dernière génération) : Meilleur rapport prix-performance pour les charges de travail générales",[25,142,143,146],{},[28,144,145],{},"M6g"," (Graviton2) : Option ARM éprouvée",[25,148,149,152],{},[28,150,151],{},"M5\u002FM5a"," (Intel\u002FAMD) : Compatibilité x86",[55,154,156],{"id":155},"optimisées-pour-le-calcul-série-c","Optimisées pour le calcul (série C)",[22,158,159,165,171],{},[25,160,161,164],{},[28,162,163],{},"C7g"," (Graviton3) : Charges de travail conteneurisées intensives en CPU",[25,166,167,170],{},[28,168,169],{},"C6g"," (Graviton2) : Traitement par lots, CI\u002FCD",[25,172,173,176],{},[28,174,175],{},"C5\u002FC5a"," (Intel\u002FAMD) : Charges de travail de calcul x86",[55,178,180],{"id":179},"optimisées-pour-la-mémoire-série-r","Optimisées pour la mémoire (série R)",[22,182,183,189,195],{},[25,184,185,188],{},[28,186,187],{},"R7g"," (Graviton3) : Cache en mémoire, analyses en temps réel",[25,190,191,194],{},[28,192,193],{},"R6g"," (Graviton2) : Conteneurs gourmands en mémoire",[25,196,197,200],{},[28,198,199],{},"R5\u002FR5a"," (Intel\u002FAMD) : Charges de travail mémoire x86",[55,202,204],{"id":203},"à-capacité-extensible-série-t","À capacité extensible (série T)",[22,206,207,213],{},[25,208,209,212],{},[28,210,211],{},"T4g"," (Graviton2) : Groupes de nœuds de développement\u002Ftest, services à faible trafic",[25,214,215,218],{},[28,216,217],{},"T3\u002FT3a"," (Intel\u002FAMD) : Charges de travail variables avec modèle de crédits CPU",[14,220,222],{"id":221},"comment-jetscale-optimise-eks","Comment Jetscale optimise EKS",[55,224,226],{"id":225},"_1-collecte-de-données","1. Collecte de données",[10,228,229],{},"Jetscale analyse plusieurs sources de données :",[10,231,232,235],{},[28,233,234],{},"Métriques CloudWatch"," (historique d'un an) :",[22,237,238,241,244,247,250],{},[25,239,240],{},"Utilisation CPU (moyenne, maximum, percentiles) par nœud",[25,242,243],{},"Utilisation mémoire (moyenne, maximum, percentiles) par nœud",[25,245,246],{},"E\u002FS réseau (octets entrants\u002Fsortants)",[25,248,249],{},"E\u002FS disque (opérations par seconde)",[25,251,252],{},"Vérifications de l'état de santé des instances",[10,254,255,256,260],{},"Les métriques sont agrégées sur toutes les instances EC2 d'un groupe de nœuds, avec le nombre d'instances noté (ex. : \"",[257,258,259],"span",{},"3 instances"," moy 25%, max 45%\").",[10,262,263,266],{},[28,264,265],{},"Données de l'API EKS"," :",[22,268,269,272,275,278,281,284],{},[25,270,271],{},"Version Kubernetes du cluster et type de support",[25,273,274],{},"Types d'instances des groupes de nœuds et configuration de mise à l'échelle (min, max, souhaité)",[25,276,277],{},"Type de capacité (ON_DEMAND ou SPOT)",[25,279,280],{},"Type AMI (AL2_x86_64, AL2_ARM_64, etc.)",[25,282,283],{},"Labels, taints et configuration du modèle de lancement",[25,285,286],{},"Liaison avec l'Auto Scaling Group",[10,288,289,266],{},[28,290,291],{},"Données de tarification AWS",[22,293,294,297,300],{},[25,295,296],{},"Tarifs horaires On-Demand par type d'instance",[25,298,299],{},"Tarifs horaires Spot (minimum et moyenne)",[25,301,302,303],{},"Coût du plan de contrôle EKS :\n",[22,304,305,308],{},[25,306,307],{},"Support Standard : ~0,10 $\u002Fheure (~73 $\u002Fmois)",[25,309,310],{},"Support étendu (Kubernetes 1.26 et antérieur) : ~0,60 $\u002Fheure (~438 $\u002Fmois)",[10,312,313],{},[28,314,315],{},"Liaison des instances :",[22,317,318,321,329],{},[25,319,320],{},"Managed Node Groups → Instances EC2 via le nom de l'Auto Scaling Group",[25,322,323,324,328],{},"Nœuds Karpenter → Cluster via le tag ",[325,326,327],"code",{},"aws:eks:cluster-name",", regroupés par NodePool",[25,330,331],{},"Nœuds auto-gérés → Cluster via le tag du nom du cluster, regroupés par type d'instance",[55,333,335],{"id":334},"_2-analyse","2. Analyse",[10,337,338],{},"Nos agents IA effectuent une analyse approfondie par groupe de nœuds :",[10,340,341],{},[28,342,343],{},"Modèles d'utilisation :",[22,345,346,349,352],{},[25,347,348],{},"Utilisation CPU et mémoire pic vs. moyenne sur tous les nœuds",[25,350,351],{},"Modèles horaires et journaliers",[25,353,354],{},"Nombre de nœuds vs. consommation réelle des ressources",[10,356,357],{},[28,358,359],{},"Modélisation des coûts :",[22,361,362,368,371],{},[25,363,364,365],{},"Coût actuel : ",[325,366,367],{},"tarif_horaire_instance x taille_souhaitée x 730 heures\u002Fmois",[25,369,370],{},"Coût du plan de contrôle inclus dans les totaux au niveau du cluster",[25,372,373],{},"La tarification Spot utilise les tarifs minimums conservateurs (pas les moyennes)",[10,375,376],{},[28,377,378],{},"Classification des charges de travail :",[22,380,381,384,387,390],{},[25,382,383],{},"Intensives en calcul : Utilisation CPU élevée, mémoire faible",[25,385,386],{},"Intensives en mémoire : Utilisation CPU faible, mémoire élevée",[25,388,389],{},"Équilibrées : Utilisation CPU et mémoire proportionnelle",[25,391,392],{},"Inactives : Utilisation minimale sur toutes les métriques",[10,394,395],{},[28,396,397],{},"Vérifications de sécurité :",[22,399,400,403,406,409],{},[25,401,402],{},"Les clusters Auto Mode sont ignorés (AWS gère le calcul automatiquement)",[25,404,405],{},"Une réduction de mémoire >25% nécessite des métriques d'utilisation mémoire",[25,407,408],{},"Une réduction de CPU >50% nécessite des métriques d'utilisation CPU",[25,410,411],{},"Les réductions de capacité sans métriques sont rejetées",[55,413,415],{"id":414},"_3-recommandations","3. Recommandations",[10,417,418],{},"Jetscale génère des recommandations par groupe de nœuds, puis les agrège au niveau du cluster.",[420,421,423],"h4",{"id":422},"dimensionnement-optimal","Dimensionnement optimal",[10,425,426],{},[28,427,428],{},"Exemple de recommandation :",[430,431,436],"pre",{"className":432,"code":434,"language":435},[433],"language-text","Ressource : production-cluster \u002F api-node-group\nActuel : 3x m5.xlarge (ON_DEMAND)\n  - 4 vCPU, 16 GiB de mémoire par nœud\n  - Coût mensuel : $420.48\n\nAnalyse CloudWatch (3 nœuds) :\n  - CPU : moy. 22%, max 41%\n  - Mémoire : moy. 35%, max 52%\n\nRecommandé : 3x m5.large (ON_DEMAND)\n  - 2 vCPU, 8 GiB de mémoire par nœud\n  - Coût mensuel : $210.24\n\nImpact sur les coûts :\n  - Économies : $210.24\u002Fmois (50%), $2,522.88\u002Fan\n\nRisque : Faible - CPU max à 41% compatible avec 2 vCPU\n  Mémoire à 52% de 16 GiB = 8.3 GiB, compatible avec 8 GiB avec marge\nEffort d'implémentation : Moyen - Mise à jour progressive du groupe de nœuds requise\nRedémarrage nécessaire : Oui (remplacement des nœuds)\n","text",[325,437,434],{"__ignoreMap":438},"",[420,440,104],{"id":441},"migration-graviton",[10,443,444],{},[28,445,428],{},[430,447,450],{"className":448,"code":449,"language":435},[433],"Ressource : web-cluster \u002F frontend-nodes\nActuel : 4x m5.large (ON_DEMAND)\n  - 2 vCPU, 8 GiB de mémoire par nœud\n  - Coût mensuel : $280.32\n\nRecommandé : 4x m6g.large (ON_DEMAND)\n  - 2 vCPU, 8 GiB de mémoire par nœud (Graviton2, ARM64)\n  - Coût mensuel : $224.26\n\nImpact sur les coûts :\n  - Économies : $56.06\u002Fmois (20%), $672.72\u002Fan\n\nRisque : Faible - Les charges conteneurisées sont généralement compatibles ARM\n  Mêmes spécifications vCPU et mémoire\n  Meilleur rapport prix-performance sur Graviton\nEffort d'implémentation : Moyen - Nécessite des images conteneur compatibles ARM64\nRedémarrage nécessaire : Oui (remplacement des nœuds avec nouveau AMI)\n",[325,451,449],{"__ignoreMap":438},[420,453,110],{"id":454},"optimisation-spot",[10,456,457],{},[28,458,428],{},[430,460,463],{"className":461,"code":462,"language":435},[433],"Ressource : batch-cluster \u002F worker-nodes\nActuel : 5x c5.xlarge (ON_DEMAND)\n  - 4 vCPU, 8 GiB de mémoire par nœud\n  - Coût mensuel : $620.50\n\nAnalyse de la charge de travail :\n  - Traitement par lots, sans état\n  - Tolérant aux pannes (les jobs redémarrent en cas d'échec)\n  - Pas de trafic en production\n\nRecommandé : 5x c5.xlarge (SPOT)\n  - Mêmes spécifications, capacité Spot\n  - Coût mensuel : $186.15 (minimum Spot conservateur)\n\nImpact sur les coûts :\n  - Économies : $434.35\u002Fmois (70%), $5,212.20\u002Fan\n\nRisque : Moyen - Les instances Spot peuvent être récupérées avec un préavis de 2 minutes\n  Karpenter gère les interruptions nativement\n  Les jobs par lots doivent être idempotents et redémarrables\nEffort d'implémentation : Faible (Karpenter) \u002F Moyen (Managed Node Groups)\nRedémarrage nécessaire : Oui (remplacement des nœuds)\n",[325,464,462],{"__ignoreMap":438},[420,466,116],{"id":467},"suppression-des-ressources-inutilisées",[10,469,470],{},[28,471,428],{},[430,473,476],{"className":474,"code":475,"language":435},[433],"Ressource : legacy-cluster \u002F test-nodes\nActuel : 2x t3.medium (ON_DEMAND)\n  - Coût mensuel : $60.74\n\nAnalyse CloudWatch (2 nœuds) :\n  - CPU : moy. 0.5%, max 2%\n  - Mémoire : moy. 8%, max 12%\n  - Aucune activité réseau depuis plus de 30 jours\n\nRecommandé : Supprimer\n  - Économies : $60.74\u002Fmois (100%), $728.88\u002Fan\n\nRisque : Faible - Aucune charge de travail significative détectée\n  Le nom ne contient pas \"prod\" ou \"production\"\n  Vérifier avec l'équipe avant la suppression\n",[325,477,475],{"__ignoreMap":438},[420,479,481],{"id":480},"agrégation-au-niveau-du-cluster","Agrégation au niveau du cluster",[10,483,484],{},"Lorsque plusieurs groupes de nœuds sont optimisés :",[430,486,489],{"className":487,"code":488,"language":435},[433],"Cluster : production-cluster\nPlan de contrôle : $73\u002Fmois (support Standard)\n\nRésultats par groupe de nœuds :\n1. api-nodes : Dimensionnement m5.xlarge → m5.large (-$210.24\u002Fmois)\n2. worker-nodes : Migration Graviton m5.large → m6g.large (-$56.06\u002Fmois)\n3. cache-nodes : Aucune recommandation (déjà optimisé)\n\nAction cluster : Optimisations multiples\nÉconomies totales du cluster : $266.30\u002Fmois, $3,195.60\u002Fan\n",[325,490,488],{"__ignoreMap":438},[55,492,494],{"id":493},"_4-génération-terraform","4. Génération Terraform",[10,496,497],{},"Pour chaque recommandation, Jetscale génère du code Terraform prêt pour la production :",[10,499,500],{},[28,501,502],{},"Exemple : Dimensionnement optimal du groupe de nœuds",[430,504,508],{"className":505,"code":506,"language":507,"meta":438,"style":438},"language-hcl shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Optimisation du groupe de nœuds EKS : Dimensionnement\n# Généré par Jetscale le 2024-01-15\n# ID de recommandation : rec_eks_001\n\nresource \"aws_eks_node_group\" \"api_nodes\" {\n  cluster_name    = \"production-cluster\"\n  node_group_name = \"api-nodes\"\n  node_role_arn   = var.node_role_arn\n  subnet_ids      = var.subnet_ids\n\n  # Précédent : m5.xlarge ($420.48\u002Fmois)\n  # Optimisé : m5.large ($210.24\u002Fmois)\n  # Réduction des coûts : 50% ($210.24\u002Fmois, $2,522.88\u002Fan)\n  #\n  # Analyse d'utilisation :\n  # - CPU : moy. 22%, max 41% (compatible avec 2 vCPU)\n  # - Mémoire : moy. 35%, max 52% de 16 GiB = 8.3 GiB (compatible avec 8 GiB)\n  instance_types = [\"m5.large\"]\n\n  scaling_config {\n    desired_size = 3\n    max_size     = 5\n    min_size     = 2\n  }\n\n  update_config {\n    max_unavailable = 1\n  }\n\n  tags = merge(\n    var.tags,\n    {\n      \"jetscale:optimized\"        = \"true\"\n      \"jetscale:recommendation\"   = \"rec_eks_001\"\n      \"jetscale:previous_type\"    = \"m5.xlarge\"\n    }\n  )\n}\n","hcl",[325,509,510,517,523,529,536,542,548,554,560,566,571,577,583,589,595,601,607,613,619,624,630,636,642,648,654,659,665,671,676,681,687,693,699,705,711,717,723,729],{"__ignoreMap":438},[257,511,514],{"class":512,"line":513},"line",1,[257,515,516],{},"# Optimisation du groupe de nœuds EKS : Dimensionnement\n",[257,518,520],{"class":512,"line":519},2,[257,521,522],{},"# Généré par Jetscale le 2024-01-15\n",[257,524,526],{"class":512,"line":525},3,[257,527,528],{},"# ID de recommandation : rec_eks_001\n",[257,530,532],{"class":512,"line":531},4,[257,533,535],{"emptyLinePlaceholder":534},true,"\n",[257,537,539],{"class":512,"line":538},5,[257,540,541],{},"resource \"aws_eks_node_group\" \"api_nodes\" {\n",[257,543,545],{"class":512,"line":544},6,[257,546,547],{},"  cluster_name    = \"production-cluster\"\n",[257,549,551],{"class":512,"line":550},7,[257,552,553],{},"  node_group_name = \"api-nodes\"\n",[257,555,557],{"class":512,"line":556},8,[257,558,559],{},"  node_role_arn   = var.node_role_arn\n",[257,561,563],{"class":512,"line":562},9,[257,564,565],{},"  subnet_ids      = var.subnet_ids\n",[257,567,569],{"class":512,"line":568},10,[257,570,535],{"emptyLinePlaceholder":534},[257,572,574],{"class":512,"line":573},11,[257,575,576],{},"  # Précédent : m5.xlarge ($420.48\u002Fmois)\n",[257,578,580],{"class":512,"line":579},12,[257,581,582],{},"  # Optimisé : m5.large ($210.24\u002Fmois)\n",[257,584,586],{"class":512,"line":585},13,[257,587,588],{},"  # Réduction des coûts : 50% ($210.24\u002Fmois, $2,522.88\u002Fan)\n",[257,590,592],{"class":512,"line":591},14,[257,593,594],{},"  #\n",[257,596,598],{"class":512,"line":597},15,[257,599,600],{},"  # Analyse d'utilisation :\n",[257,602,604],{"class":512,"line":603},16,[257,605,606],{},"  # - CPU : moy. 22%, max 41% (compatible avec 2 vCPU)\n",[257,608,610],{"class":512,"line":609},17,[257,611,612],{},"  # - Mémoire : moy. 35%, max 52% de 16 GiB = 8.3 GiB (compatible avec 8 GiB)\n",[257,614,616],{"class":512,"line":615},18,[257,617,618],{},"  instance_types = [\"m5.large\"]\n",[257,620,622],{"class":512,"line":621},19,[257,623,535],{"emptyLinePlaceholder":534},[257,625,627],{"class":512,"line":626},20,[257,628,629],{},"  scaling_config {\n",[257,631,633],{"class":512,"line":632},21,[257,634,635],{},"    desired_size = 3\n",[257,637,639],{"class":512,"line":638},22,[257,640,641],{},"    max_size     = 5\n",[257,643,645],{"class":512,"line":644},23,[257,646,647],{},"    min_size     = 2\n",[257,649,651],{"class":512,"line":650},24,[257,652,653],{},"  }\n",[257,655,657],{"class":512,"line":656},25,[257,658,535],{"emptyLinePlaceholder":534},[257,660,662],{"class":512,"line":661},26,[257,663,664],{},"  update_config {\n",[257,666,668],{"class":512,"line":667},27,[257,669,670],{},"    max_unavailable = 1\n",[257,672,674],{"class":512,"line":673},28,[257,675,653],{},[257,677,679],{"class":512,"line":678},29,[257,680,535],{"emptyLinePlaceholder":534},[257,682,684],{"class":512,"line":683},30,[257,685,686],{},"  tags = merge(\n",[257,688,690],{"class":512,"line":689},31,[257,691,692],{},"    var.tags,\n",[257,694,696],{"class":512,"line":695},32,[257,697,698],{},"    {\n",[257,700,702],{"class":512,"line":701},33,[257,703,704],{},"      \"jetscale:optimized\"        = \"true\"\n",[257,706,708],{"class":512,"line":707},34,[257,709,710],{},"      \"jetscale:recommendation\"   = \"rec_eks_001\"\n",[257,712,714],{"class":512,"line":713},35,[257,715,716],{},"      \"jetscale:previous_type\"    = \"m5.xlarge\"\n",[257,718,720],{"class":512,"line":719},36,[257,721,722],{},"    }\n",[257,724,726],{"class":512,"line":725},37,[257,727,728],{},"  )\n",[257,730,732],{"class":512,"line":731},38,[257,733,734],{},"}\n",[10,736,737],{},[28,738,739],{},"Exemple : Migration Graviton",[430,741,743],{"className":505,"code":742,"language":507,"meta":438,"style":438},"# Optimisation du groupe de nœuds EKS : Migration Graviton\n# Généré par Jetscale le 2024-01-15\n\nresource \"aws_eks_node_group\" \"frontend_nodes\" {\n  cluster_name    = \"web-cluster\"\n  node_group_name = \"frontend-nodes\"\n  node_role_arn   = var.node_role_arn\n  subnet_ids      = var.subnet_ids\n\n  # Précédent : m5.large, x86_64 ($280.32\u002Fmois)\n  # Optimisé : m6g.large, ARM64 ($224.26\u002Fmois)\n  # Réduction des coûts : 20% ($56.06\u002Fmois, $672.72\u002Fan)\n  instance_types = [\"m6g.large\"]\n\n  # AMI ARM64 requise pour les instances Graviton\n  ami_type = \"AL2_ARM_64\"\n\n  scaling_config {\n    desired_size = 4\n    max_size     = 6\n    min_size     = 2\n  }\n\n  update_config {\n    max_unavailable = 1\n  }\n\n  tags = merge(\n    var.tags,\n    {\n      \"jetscale:optimized\"        = \"true\"\n      \"jetscale:previous_type\"    = \"m5.large\"\n      \"jetscale:migration_type\"   = \"graviton\"\n    }\n  )\n}\n",[325,744,745,750,754,758,763,768,773,777,781,785,790,795,800,805,809,814,819,823,827,832,837,841,845,849,853,857,861,865,869,873,877,881,886,891,895,899],{"__ignoreMap":438},[257,746,747],{"class":512,"line":513},[257,748,749],{},"# Optimisation du groupe de nœuds EKS : Migration Graviton\n",[257,751,752],{"class":512,"line":519},[257,753,522],{},[257,755,756],{"class":512,"line":525},[257,757,535],{"emptyLinePlaceholder":534},[257,759,760],{"class":512,"line":531},[257,761,762],{},"resource \"aws_eks_node_group\" \"frontend_nodes\" {\n",[257,764,765],{"class":512,"line":538},[257,766,767],{},"  cluster_name    = \"web-cluster\"\n",[257,769,770],{"class":512,"line":544},[257,771,772],{},"  node_group_name = \"frontend-nodes\"\n",[257,774,775],{"class":512,"line":550},[257,776,559],{},[257,778,779],{"class":512,"line":556},[257,780,565],{},[257,782,783],{"class":512,"line":562},[257,784,535],{"emptyLinePlaceholder":534},[257,786,787],{"class":512,"line":568},[257,788,789],{},"  # Précédent : m5.large, x86_64 ($280.32\u002Fmois)\n",[257,791,792],{"class":512,"line":573},[257,793,794],{},"  # Optimisé : m6g.large, ARM64 ($224.26\u002Fmois)\n",[257,796,797],{"class":512,"line":579},[257,798,799],{},"  # Réduction des coûts : 20% ($56.06\u002Fmois, $672.72\u002Fan)\n",[257,801,802],{"class":512,"line":585},[257,803,804],{},"  instance_types = [\"m6g.large\"]\n",[257,806,807],{"class":512,"line":591},[257,808,535],{"emptyLinePlaceholder":534},[257,810,811],{"class":512,"line":597},[257,812,813],{},"  # AMI ARM64 requise pour les instances Graviton\n",[257,815,816],{"class":512,"line":603},[257,817,818],{},"  ami_type = \"AL2_ARM_64\"\n",[257,820,821],{"class":512,"line":609},[257,822,535],{"emptyLinePlaceholder":534},[257,824,825],{"class":512,"line":615},[257,826,629],{},[257,828,829],{"class":512,"line":621},[257,830,831],{},"    desired_size = 4\n",[257,833,834],{"class":512,"line":626},[257,835,836],{},"    max_size     = 6\n",[257,838,839],{"class":512,"line":632},[257,840,647],{},[257,842,843],{"class":512,"line":638},[257,844,653],{},[257,846,847],{"class":512,"line":644},[257,848,535],{"emptyLinePlaceholder":534},[257,850,851],{"class":512,"line":650},[257,852,664],{},[257,854,855],{"class":512,"line":656},[257,856,670],{},[257,858,859],{"class":512,"line":661},[257,860,653],{},[257,862,863],{"class":512,"line":667},[257,864,535],{"emptyLinePlaceholder":534},[257,866,867],{"class":512,"line":673},[257,868,686],{},[257,870,871],{"class":512,"line":678},[257,872,692],{},[257,874,875],{"class":512,"line":683},[257,876,698],{},[257,878,879],{"class":512,"line":689},[257,880,704],{},[257,882,883],{"class":512,"line":695},[257,884,885],{},"      \"jetscale:previous_type\"    = \"m5.large\"\n",[257,887,888],{"class":512,"line":701},[257,889,890],{},"      \"jetscale:migration_type\"   = \"graviton\"\n",[257,892,893],{"class":512,"line":707},[257,894,722],{},[257,896,897],{"class":512,"line":713},[257,898,728],{},[257,900,901],{"class":512,"line":719},[257,902,734],{},[14,904,906],{"id":905},"bonnes-pratiques","Bonnes pratiques",[55,908,910],{"id":909},"stratégie-de-test","Stratégie de test",[10,912,913],{},[28,914,915],{},"Tests en pré-production :",[917,918,919,922,925,928],"ol",{},[25,920,921],{},"Tester les changements de type d'instance sur les groupes de nœuds hors production d'abord",[25,923,924],{},"Valider la compatibilité ARM64 des images de conteneurs avant la migration Graviton",[25,926,927],{},"Exécuter des groupes de nœuds Spot en parallèle des groupes ON_DEMAND pour une période d'essai",[25,929,930],{},"Surveiller la planification des pods et l'alignement des requests\u002Flimits de ressources",[10,932,933],{},[28,934,935],{},"Déploiement en production :",[917,937,938,945,948,951],{},[25,939,940,941,944],{},"Utiliser des mises à jour progressives (",[325,942,943],{},"max_unavailable = 1",") pour minimiser les perturbations",[25,946,947],{},"Surveiller les évictions de pods et la replanification pendant le remplacement des nœuds",[25,949,950],{},"Valider que les vérifications de santé de l'application réussissent sur les nouveaux types de nœuds",[25,952,953],{},"Conserver la configuration précédente du groupe de nœuds pour un retour arrière rapide",[55,955,957],{"id":956},"liste-de-vérification-pour-la-migration-graviton","Liste de vérification pour la migration Graviton",[10,959,960],{},"Avant de migrer vers des instances Graviton (ARM64) :",[917,962,963,966,969,976,979],{},[25,964,965],{},"Vérifier que toutes les images de conteneurs ont des builds ARM64 ou multi-architecture",[25,967,968],{},"Vérifier les dépendances binaires spécifiques à x86 dans les conteneurs",[25,970,971,972,975],{},"Mettre à jour le type AMI à ",[325,973,974],{},"AL2_ARM_64"," dans la configuration du groupe de nœuds",[25,977,978],{},"Tester avec un petit groupe de nœuds avant de migrer tous les nœuds",[25,980,981],{},"Surveiller les performances de l'application pendant 48-72 heures après la migration",[55,983,985],{"id":984},"directives-pour-les-instances-spot","Directives pour les instances Spot",[10,987,988],{},[28,989,990],{},"Bons candidats pour Spot :",[22,992,993,996,999,1002,1005],{},[25,994,995],{},"Traitement par lots et pipelines de données",[25,997,998],{},"Workers de build CI\u002FCD",[25,1000,1001],{},"Microservices stateless avec plusieurs réplicas",[25,1003,1004],{},"Charges de travail de développement et de test",[25,1006,1007],{},"Nœuds gérés par Karpenter (gestion native des interruptions)",[10,1009,1010],{},[28,1011,1012],{},"Éviter Spot pour :",[22,1014,1015,1018,1021,1024],{},[25,1016,1017],{},"Groupes gérés à nœud unique (pas de redondance lors du retrait)",[25,1019,1020],{},"Charges de travail stateful (bases de données, files d'attente persistantes)",[25,1022,1023],{},"Services critiques en production avec des SLAs stricts",[25,1025,1026],{},"Charges de travail avec des temps d'initialisation longs",[55,1028,1030],{"id":1029},"planification-de-la-capacité","Planification de la capacité",[22,1032,1033,1036,1039,1042],{},[25,1034,1035],{},"Jetscale utilise une tarification Spot conservatrice (minimum, pas la moyenne) pour les estimations de coûts",[25,1037,1038],{},"La configuration de mise à l'échelle du groupe de nœuds (min\u002Fmax\u002Fsouhaité) est préservée dans les recommandations",[25,1040,1041],{},"Les coûts du plan de contrôle sont inclus dans les totaux au niveau du cluster",[25,1043,1044],{},"Les clusters avec support étendu (Kubernetes 1.26 et antérieur) entraînent des coûts de plan de contrôle plus élevés (~438 $\u002Fmois vs ~73 $\u002Fmois)",[14,1046,1048],{"id":1047},"modèles-doptimisation-courants","Modèles d'optimisation courants",[55,1050,1052],{"id":1051},"modèle-1-groupes-de-nœuds-surprovisionnés","Modèle 1 : Groupes de nœuds surprovisionnés",[10,1054,1055],{},[28,1056,1057],{},"Symptômes :",[22,1059,1060,1063,1066],{},[25,1061,1062],{},"Utilisation CPU constamment inférieure à 30%",[25,1064,1065],{},"Utilisation mémoire inférieure à 40%",[25,1067,1068],{},"Les nœuds ont une capacité inutilisée significative",[10,1070,1071],{},[28,1072,1073],{},"Recommandation Jetscale :",[22,1075,1076,1079,1082],{},[25,1077,1078],{},"Dimensionner vers des types d'instances plus petits",[25,1080,1081],{},"Économies typiques : 30-50%",[25,1083,1084],{},"Risque : Faible (vérifier que l'utilisation pic tient dans la nouvelle capacité)",[55,1086,1088],{"id":1087},"modèle-2-opportunité-de-migration-graviton","Modèle 2 : Opportunité de migration Graviton",[10,1090,1091],{},[28,1092,1057],{},[22,1094,1095,1098,1101],{},[25,1096,1097],{},"Exécution d'instances x86 (m5, c5, r5)",[25,1099,1100],{},"Charges de travail conteneurisées (généralement compatibles ARM)",[25,1102,1103],{},"Pas de dépendances binaires spécifiques à x86",[10,1105,1106],{},[28,1107,1073],{},[22,1109,1110,1113,1116],{},[25,1111,1112],{},"Migrer vers les équivalents Graviton (m6g, c7g, r6g, t4g)",[25,1114,1115],{},"Économies typiques : 10-40%",[25,1117,1118],{},"Risque : Faible pour la plupart des charges de travail conteneurisées",[55,1120,1122],{"id":1121},"modèle-3-workers-de-traitement-par-lots-on_demand","Modèle 3 : Workers de traitement par lots ON_DEMAND",[10,1124,1125],{},[28,1126,1057],{},[22,1128,1129,1132,1135],{},[25,1130,1131],{},"Groupes de nœuds de traitement par lots ou CI\u002FCD",[25,1133,1134],{},"Charges de travail tolérantes aux pannes, stateless",[25,1136,1137],{},"Exécution sur capacité ON_DEMAND",[10,1139,1140],{},[28,1141,1073],{},[22,1143,1144,1147,1150],{},[25,1145,1146],{},"Basculer vers la capacité Spot",[25,1148,1149],{},"Économies typiques : 60-90%",[25,1151,1152],{},"Risque : Moyen (Spot peut être repris, les jobs doivent être redémarrables)",[55,1154,1156],{"id":1155},"modèle-4-version-kubernetes-héritée","Modèle 4 : Version Kubernetes héritée",[10,1158,1159],{},[28,1160,1057],{},[22,1162,1163,1166,1169],{},[25,1164,1165],{},"Version Kubernetes 1.26 ou antérieure",[25,1167,1168],{},"Frais de support étendu (~438 $\u002Fmois pour le plan de contrôle)",[25,1170,1171],{},"Les clusters en support standard coûtent ~73 $\u002Fmois",[10,1173,1174],{},[28,1175,1176],{},"Observation Jetscale :",[22,1178,1179,1182,1185],{},[25,1180,1181],{},"Le support étendu ajoute ~365 $\u002Fmois aux coûts du plan de contrôle",[25,1183,1184],{},"La mise à niveau de la version Kubernetes réduit les coûts du plan de contrôle d'environ 83%",[25,1186,1187],{},"Jetscale inclut ce coût dans les totaux au niveau du cluster pour la visibilité",[14,1189,1191],{"id":1190},"dépannage","Dépannage",[55,1193,1195],{"id":1194},"préoccupations-concernant-les-recommandations","Préoccupations concernant les recommandations",[10,1197,1198],{},[28,1199,1200],{},"Q : Le dimensionnement optimal causera-t-il un temps d'arrêt de l'application ?",[10,1202,1203,1204,1206],{},"R : Les mises à jour de groupes de nœuds utilisent un remplacement progressif. Avec ",[325,1205,943],{},", un nœud est remplacé à la fois. Les pods sont évincés et replanifiés sur les nœuds restants pendant la transition. Assurez-vous que vos déploiements ont des Pod Disruption Budgets (PDBs) configurés pour une gestion gracieuse.",[10,1208,1209],{},[28,1210,1211],{},"Q : Comment Jetscale gère-t-il les nœuds gérés par Karpenter ?",[10,1213,1214],{},"R : Jetscale découvre les nœuds Karpenter en regroupant les instances EC2 qui partagent le même tag de cluster mais ne font pas partie d'un groupe de nœuds géré. Ceux-ci sont regroupés par tag NodePool et analysés comme des groupes de nœuds synthétiques. La gestion native des interruptions Spot de Karpenter en fait un excellent candidat pour l'optimisation Spot.",[10,1216,1217],{},[28,1218,1219],{},"Q : Que se passe-t-il si les métriques mémoire ne sont pas disponibles ?",[10,1221,1222],{},"R : Si CloudWatch Container Insights n'est pas activé, Jetscale n'aura pas de données d'utilisation mémoire. Dans ce cas, les recommandations qui réduisent la capacité mémoire de plus de 25% sont rejetées par mesure de sécurité. L'activation de Container Insights fournit des opportunités d'optimisation plus précises et plus agressives.",[10,1224,1225],{},[28,1226,1227],{},"Q : Puis-je annuler un changement de groupe de nœuds ?",[10,1229,1230],{},"R : Oui. Mettez à jour la configuration du groupe de nœuds pour revenir au type d'instance et à la taille souhaitée précédents. Le processus de mise à jour progressive remplacera les nœuds avec la configuration d'origine.",[55,1232,1234],{"id":1233},"problèmes-de-performances-après-optimisation","Problèmes de performances après optimisation",[10,1236,1237],{},[28,1238,1239],{},"Symptôme : Pods en état Pending après le dimensionnement optimal",[10,1241,1242],{},"Causes possibles :",[22,1244,1245,1248],{},[25,1246,1247],{},"Le nouveau type d'instance a une capacité CPU ou mémoire insuffisante pour les resource requests des pods",[25,1249,1250],{},"La capacité du nœud ne correspond pas aux exigences de planification des pods",[10,1252,1253],{},[28,1254,1255],{},"Résolution :",[917,1257,1258,1261,1268,1271],{},[25,1259,1260],{},"Vérifier les resource requests des pods par rapport à la nouvelle capacité du nœud",[25,1262,1263,1264,1267],{},"Vérifier que ",[325,1265,1266],{},"kubectl describe node"," affiche les ressources allouables",[25,1269,1270],{},"Ajuster les requests\u002Flimits des pods ou augmenter la taille du nœud si nécessaire",[25,1272,1273],{},"Envisager d'ajouter plus de nœuds au lieu de nœuds plus grands",[10,1275,1276],{},[28,1277,1278],{},"Symptôme : Les interruptions Spot causent des perturbations de service",[10,1280,1242],{},[22,1282,1283,1286,1289],{},[25,1284,1285],{},"Déploiements à réplica unique sur des nœuds Spot",[25,1287,1288],{},"Pas de Pod Disruption Budget configuré",[25,1290,1291],{},"Périodes d'arrêt gracieux longues",[10,1293,1294],{},[28,1295,1255],{},[917,1297,1298,1301,1304,1307],{},[25,1299,1300],{},"Exécuter plusieurs réplicas sur différents nœuds pour la redondance",[25,1302,1303],{},"Configurer des Pod Disruption Budgets",[25,1305,1306],{},"Utiliser Karpenter pour la gestion automatique des interruptions Spot",[25,1308,1309],{},"Envisager des groupes de nœuds mixtes ON_DEMAND + SPOT pour les services critiques",[14,1311,1313],{"id":1312},"limitations","Limitations",[10,1315,1316],{},[28,1317,1318],{},"Actuellement non pris en charge :",[22,1320,1321,1324,1327,1330,1333,1336],{},[25,1322,1323],{},"Clusters EKS Auto Mode (AWS gère le calcul)",[25,1325,1326],{},"Optimisation des profils Fargate",[25,1328,1329],{},"Ajustement de la configuration du Cluster Autoscaler",[25,1331,1332],{},"Optimisation des ressources au niveau des pods (requests\u002Flimits)",[25,1334,1335],{},"Orchestration multi-cluster",[25,1337,1338],{},"Recommandations d'instances réservées pour les nœuds EKS",[10,1340,1341],{},[28,1342,1343],{},"Contraintes spécifiques à EKS :",[22,1345,1346,1349,1352,1355],{},[25,1347,1348],{},"Tous les nœuds d'un groupe de nœuds géré doivent utiliser le même type d'instance",[25,1350,1351],{},"La migration Graviton nécessite des images de conteneurs compatibles ARM64",[25,1353,1354],{},"L'optimisation Spot est rejetée pour les groupes gérés à nœud unique",[25,1356,1357],{},"CloudWatch Container Insights est nécessaire pour les métriques mémoire",[14,1359,1361],{"id":1360},"intégration-api","Intégration API",[10,1363,1364],{},"Jetscale fournit un accès API pour l'optimisation programmatique :",[430,1366,1370],{"className":1367,"code":1368,"language":1369,"meta":438,"style":438},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Lister les recommandations EKS\nGET \u002Fapi\u002Fv1\u002Frecommendations?resource_type=eks\n\n# Obtenir les détails d'une recommandation spécifique\nGET \u002Fapi\u002Fv1\u002Frecommendations\u002F{recommendation_id}\n\n# Approuver une recommandation (génère Terraform)\nPOST \u002Fapi\u002Fv1\u002Frecommendations\u002F{recommendation_id}\u002Fapprove\n\n# Récupérer le Terraform généré\nGET \u002Fapi\u002Fv1\u002Frecommendations\u002F{recommendation_id}\u002Fterraform\n","bash",[325,1371,1372,1378,1388,1392,1397,1404,1408,1413,1421,1425,1430],{"__ignoreMap":438},[257,1373,1374],{"class":512,"line":513},[257,1375,1377],{"class":1376},"sHwdD","# Lister les recommandations EKS\n",[257,1379,1380,1384],{"class":512,"line":519},[257,1381,1383],{"class":1382},"sBMFI","GET",[257,1385,1387],{"class":1386},"sfazB"," \u002Fapi\u002Fv1\u002Frecommendations?resource_type=eks\n",[257,1389,1390],{"class":512,"line":525},[257,1391,535],{"emptyLinePlaceholder":534},[257,1393,1394],{"class":512,"line":531},[257,1395,1396],{"class":1376},"# Obtenir les détails d'une recommandation spécifique\n",[257,1398,1399,1401],{"class":512,"line":538},[257,1400,1383],{"class":1382},[257,1402,1403],{"class":1386}," \u002Fapi\u002Fv1\u002Frecommendations\u002F{recommendation_id}\n",[257,1405,1406],{"class":512,"line":544},[257,1407,535],{"emptyLinePlaceholder":534},[257,1409,1410],{"class":512,"line":550},[257,1411,1412],{"class":1376},"# Approuver une recommandation (génère Terraform)\n",[257,1414,1415,1418],{"class":512,"line":556},[257,1416,1417],{"class":1382},"POST",[257,1419,1420],{"class":1386}," \u002Fapi\u002Fv1\u002Frecommendations\u002F{recommendation_id}\u002Fapprove\n",[257,1422,1423],{"class":512,"line":562},[257,1424,535],{"emptyLinePlaceholder":534},[257,1426,1427],{"class":512,"line":568},[257,1428,1429],{"class":1376},"# Récupérer le Terraform généré\n",[257,1431,1432,1434],{"class":512,"line":573},[257,1433,1383],{"class":1382},[257,1435,1436],{"class":1386}," \u002Fapi\u002Fv1\u002Frecommendations\u002F{recommendation_id}\u002Fterraform\n",[10,1438,1439,1440,1445],{},"Consultez notre ",[1441,1442,1444],"a",{"href":1443},"\u002Ffr-ca\u002Fdocs\u002Fapi-reference","Documentation API"," pour une référence complète.",[14,1447,1449],{"id":1448},"support","Support",[10,1451,1452],{},"Besoin d'aide pour l'optimisation EKS ?",[22,1454,1455,1465,1474],{},[25,1456,1457,1460,1461],{},[28,1458,1459],{},"Email"," : ",[1441,1462,1464],{"href":1463},"mailto:support@jetscale.ai","support@jetscale.ai",[25,1466,1467,1460,1470],{},[28,1468,1469],{},"Documentation",[1441,1471,1473],{"href":1472},"\u002Ffr-ca\u002Fdocs\u002Ffaq","FAQ",[25,1475,1476,1460,1479],{},[28,1477,1478],{},"Problèmes GitHub",[1441,1480,1484],{"href":1481,"rel":1482},"https:\u002F\u002Fgithub.com\u002FJetscale-ai\u002Fjetscale-docs\u002Fissues",[1483],"nofollow","Signaler un problème",[1486,1487],"hr",{},[10,1489,1490],{},[28,1491,1492],{},"Documentation associée :",[22,1494,1495,1501,1507,1513,1519],{},[25,1496,1497],{},[1441,1498,1500],{"href":1499},"\u002Ffr-ca\u002Fdocs\u002Fservices\u002Fec2","Optimisation EC2",[25,1502,1503],{},[1441,1504,1506],{"href":1505},"\u002Ffr-ca\u002Fdocs\u002Fservices\u002Frds","Optimisation RDS",[25,1508,1509],{},[1441,1510,1512],{"href":1511},"\u002Ffr-ca\u002Fdocs\u002Fservices\u002Febs","Optimisation EBS",[25,1514,1515],{},[1441,1516,1518],{"href":1517},"\u002Ffr-ca\u002Fdocs\u002Fservices\u002Felasticache","Optimisation ElastiCache",[25,1520,1521],{},[1441,1522,1524],{"href":1523},"\u002Ffr-ca\u002Fdocs\u002Fservices\u002Fs3","Optimisation S3",[1526,1527,1528],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":438,"searchDepth":519,"depth":519,"links":1530},[1531,1532,1536,1542,1548,1554,1560,1564,1565,1566],{"id":16,"depth":519,"text":17},{"id":52,"depth":519,"text":53,"children":1533},[1534,1535],{"id":57,"depth":525,"text":58},{"id":120,"depth":525,"text":121},{"id":127,"depth":519,"text":128,"children":1537},[1538,1539,1540,1541],{"id":131,"depth":525,"text":132},{"id":155,"depth":525,"text":156},{"id":179,"depth":525,"text":180},{"id":203,"depth":525,"text":204},{"id":221,"depth":519,"text":222,"children":1543},[1544,1545,1546,1547],{"id":225,"depth":525,"text":226},{"id":334,"depth":525,"text":335},{"id":414,"depth":525,"text":415},{"id":493,"depth":525,"text":494},{"id":905,"depth":519,"text":906,"children":1549},[1550,1551,1552,1553],{"id":909,"depth":525,"text":910},{"id":956,"depth":525,"text":957},{"id":984,"depth":525,"text":985},{"id":1029,"depth":525,"text":1030},{"id":1047,"depth":519,"text":1048,"children":1555},[1556,1557,1558,1559],{"id":1051,"depth":525,"text":1052},{"id":1087,"depth":525,"text":1088},{"id":1121,"depth":525,"text":1122},{"id":1155,"depth":525,"text":1156},{"id":1190,"depth":519,"text":1191,"children":1561},[1562,1563],{"id":1194,"depth":525,"text":1195},{"id":1233,"depth":525,"text":1234},{"id":1312,"depth":519,"text":1313},{"id":1360,"depth":519,"text":1361},{"id":1448,"depth":519,"text":1449},[1568,1569,1570],"optimization-methodology","provider-service-support","savings-methodology","Jetscale fournit une optimisation des coûts pilotée par l'IA pour les clusters Amazon EKS . Nos agents spécialisés analysent l'utilisation des groupes de nœuds, les types...","md","fr-ca",{},[],"Cloud Optimization","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Feks","legacy-import",{"title":5,"description":1571},[],"fr-ca\u002Fdocs\u002F5.services\u002F3.eks","high","services\u002Feks","8VRg7vu0rUWkPvwqV1zJKRYEnEGEY7-6OMv3FWjF3ek",[1586],{"title":1587,"path":1588,"stem":1573,"children":1589,"page":1672},"Fr Ca","\u002Ffr-ca",[1590],{"title":1591,"path":1592,"stem":1593,"children":1594},"Documentation Jetscale","\u002Ffr-ca\u002Fdocs","fr-ca\u002Fdocs\u002Findex",[1595,1596,1600,1604,1608,1612,1634,1638,1663,1667,1670],{"title":1591,"path":1592,"stem":1593},{"title":1597,"path":1598,"stem":1599},"Démarrage avec Jetscale","\u002Ffr-ca\u002Fdocs\u002Fgetting-started","fr-ca\u002Fdocs\u002F1.getting-started",{"title":1601,"path":1602,"stem":1603},"Guide de Configuration AWS","\u002Ffr-ca\u002Fdocs\u002Faws-setup","fr-ca\u002Fdocs\u002F2.aws-setup",{"title":1605,"path":1606,"stem":1607},"Guide de Configuration Azure","\u002Ffr-ca\u002Fdocs\u002Fazure-setup","fr-ca\u002Fdocs\u002F3.azure-setup",{"title":1609,"path":1610,"stem":1611},"Comment fonctionne Jetscale","\u002Ffr-ca\u002Fdocs\u002Fhow-it-works","fr-ca\u002Fdocs\u002F4.how-it-works",{"title":1613,"path":1614,"stem":1615,"children":1616},"Intégrations","\u002Ffr-ca\u002Fdocs\u002Fintegrations","fr-ca\u002Fdocs\u002F4.integrations\u002Findex",[1617,1618,1622,1626,1630],{"title":1613,"path":1614,"stem":1615},{"title":1619,"path":1620,"stem":1621},"Intégration GitHub","\u002Ffr-ca\u002Fdocs\u002Fintegrations\u002Fgithub","fr-ca\u002Fdocs\u002F4.integrations\u002F1.github",{"title":1623,"path":1624,"stem":1625},"Intégration Jira","\u002Ffr-ca\u002Fdocs\u002Fintegrations\u002Fjira","fr-ca\u002Fdocs\u002F4.integrations\u002F2.jira",{"title":1627,"path":1628,"stem":1629},"Intégration Slack","\u002Ffr-ca\u002Fdocs\u002Fintegrations\u002Fslack","fr-ca\u002Fdocs\u002F4.integrations\u002F3.slack",{"title":1631,"path":1632,"stem":1633},"Intégration Bitbucket","\u002Ffr-ca\u002Fdocs\u002Fintegrations\u002Fbitbucket","fr-ca\u002Fdocs\u002F4.integrations\u002F4.bitbucket",{"title":1635,"path":1636,"stem":1637},"Analyse Propulsée par l'IA","\u002Ffr-ca\u002Fdocs\u002Fai-analysis","fr-ca\u002Fdocs\u002F5.ai-analysis",{"title":1639,"path":1640,"stem":1641,"children":1642},"Services pris en charge","\u002Ffr-ca\u002Fdocs\u002Fservices","fr-ca\u002Fdocs\u002F5.services\u002Findex",[1643,1644,1646,1648,1649,1651,1653,1655,1659],{"title":1639,"path":1640,"stem":1641},{"title":1512,"path":1511,"stem":1645},"fr-ca\u002Fdocs\u002F5.services\u002F1.ebs",{"title":1500,"path":1499,"stem":1647},"fr-ca\u002Fdocs\u002F5.services\u002F2.ec2",{"title":5,"path":1577,"stem":1581},{"title":1518,"path":1517,"stem":1650},"fr-ca\u002Fdocs\u002F5.services\u002F4.elasticache",{"title":1506,"path":1505,"stem":1652},"fr-ca\u002Fdocs\u002F5.services\u002F5.rds",{"title":1524,"path":1523,"stem":1654},"fr-ca\u002Fdocs\u002F5.services\u002F6.s3",{"title":1656,"path":1657,"stem":1658},"Optimisation Azure SQL","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Fazure-sql","fr-ca\u002Fdocs\u002F5.services\u002F7.azure-sql",{"title":1660,"path":1661,"stem":1662},"Optimisation des machines virtuelles Azure","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Fazure-vm","fr-ca\u002Fdocs\u002F5.services\u002F8.azure-vm",{"title":1664,"path":1665,"stem":1666},"Flux de Recommandations","\u002Ffr-ca\u002Fdocs\u002Frecommendation-workflow","fr-ca\u002Fdocs\u002F6.recommendation-workflow",{"title":1668,"path":1443,"stem":1669},"Référence API","fr-ca\u002Fdocs\u002F7.api-reference",{"title":1473,"path":1472,"stem":1671},"fr-ca\u002Fdocs\u002F8.faq",false,[1674,1676],{"title":1500,"path":1499,"stem":1647,"description":1675,"children":-1},"Jetscale fournit une optimisation des coûts basée sur l'IA pour les instances Amazon EC2 autonomes. Nos agents spécialisés analysent vos charges de travail de calcul pour...",{"title":1518,"path":1517,"stem":1650,"description":1677,"children":-1},"Jetscale propose une optimisation des couts basee sur l'IA pour Amazon ElastiCache, incluant les clusters Redis et Memcached. Nos agents specialises analysent vos charges de...",1788219271563]