Aidez à améliorer cette page
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Vous souhaitez contribuer à ce guide de l'utilisateur ? Choisissez le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page. Vos contributions aideront à améliorer notre guide de l'utilisateur pour tout le monde.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Définir des actions pour les événements de mise à AWS jour du système d'exploitation Fargate
Amazon EKS applique régulièrement des correctifs au système d'exploitation des nœuds AWS Fargate afin de garantir leur sécurité. Dans le cadre du processus d'application des correctifs, nous recyclons les nœuds pour installer les correctifs du système d'exploitation. Les tentatives de mises à jour sont réalisées de manière à avoir des répercussions minimales sur vos services. Toutefois, si Pods ne sont pas expulsés avec succès, ils doivent parfois être supprimés. Voici les actions que vous pouvez effectuer pour minimiser les perturbations potentielles :
-
Set approprié Pod budgets de perturbation (PDBs) pour contrôler le nombre de Pods qui sont en panne simultanément.
-
Créez des EventBridge règles Amazon pour gérer les expulsions échouées avant le Pods sont supprimés.
-
Redémarrez manuellement vos pods concernés avant la date d'expulsion indiquée dans la notification que vous recevez.
-
Créez une configuration de notification dans Notifications AWS utilisateur.
Amazon EKS travaille en étroite collaboration avec Kubernetes communauté pour rendre les corrections de bogues et les correctifs de sécurité disponibles le plus rapidement possible. Toutes les Fargate Pods commencer par le plus récent Kubernetes version patch, disponible sur Amazon EKS pour Kubernetes version de votre cluster. Si vous avez un Pod avec une ancienne version du correctif, Amazon EKS peut le recycler pour le mettre à jour vers la dernière version. Cela garantit que votre Pods sont équipés des dernières mises à jour de sécurité. Ainsi, en cas de problème critique lié aux vulnérabilités et aux expositions communes
Lorsque le système AWS d'exploitation Fargate est mis à jour, Amazon EKS vous envoie une notification indiquant les ressources concernées et la date des prochaines expulsions des pods. Si la date d'expulsion indiquée ne vous convient pas, vous avez la possibilité de redémarrer manuellement les pods concernés avant la date d'expulsion indiquée dans la notification. Tous les pods créés avant le moment où vous recevez la notification sont susceptibles d'être expulsés. Reportez-vous à la documentation Kubernetes
Pour limiter le nombre de Pods qui sont en panne à un moment où Pods sont recyclés, vous pouvez régler Pod budgets de perturbation (PDBs). Vous pouvez l'utiliser PDBs pour définir une disponibilité minimale en fonction des exigences de chacune de vos applications tout en autorisant les mises à jour. La disponibilité minimale de votre PDB doit être inférieure à 100 %. Pour plus d'informations, voir Spécifier un budget d'interruption pour votre application
Amazon EKS utilise l'API Eviction
Lorsque l'expulsion pour un Pod en cas d'échec, Amazon EKS envoie un événement à votre compte avec des informations sur le Pods cette expulsion ratée. Vous pouvez agir en fonction du message avant l'heure de fin prévue. Le temps spécifique varie en fonction de l'urgence du correctif. Le moment venu, Amazon EKS tente d'expulser le Pods encore une fois. Toutefois, si l'expulsion échoue lors de cette tentative, un nouvel événement n'est pas envoyé. Si l'expulsion échoue à nouveau, votre Pods sont supprimés périodiquement afin que les nouveaux Pods peut avoir le dernier patch.
Voici un exemple d'événement reçu lorsque Pod l'expulsion échoue. Il contient des informations sur le cluster, Pod nom, Pod espace de noms, profil Fargate et heure de fin prévue.
{ "version": "0", "id": "12345678-90ab-cdef-0123-4567890abcde", "detail-type": "EKS Fargate Pod Scheduled Termination", "source": "aws.eks", "account": "111122223333", "time": "2021-06-27T12:52:44Z", "region": "region-code", "resources": [ "default/my-database-deployment" ], "detail": { "clusterName": "my-cluster", "fargateProfileName": "my-fargate-profile", "podName": "my-pod-name", "podNamespace": "default", "evictErrorMessage": "Cannot evict pod as it would violate the pod's disruption budget", "scheduledTerminationTime": "2021-06-30T12:52:44.832Z[UTC]" } }
De plus, le fait d'avoir plusieurs PDBs associés à un Pod peut entraîner un échec de l'expulsion. Cet événement renvoie le message d'erreur suivant.
"evictErrorMessage": "This pod has multiple PodDisruptionBudget, which the eviction subresource does not support",
Vous pouvez créer une action souhaitée en fonction de cet événement. Par exemple, vous pouvez ajuster votre Pod budget de perturbation (PDB) pour contrôler la façon dont le Pods sont expulsés. Plus précisément, supposons que vous commenciez avec un PDB qui spécifie le pourcentage cible de Pods qui sont disponibles. Avant votre Pods sont résiliés de force lors d'une mise à niveau, vous pouvez ajuster le PDB à un pourcentage différent de Pods. Pour recevoir cet événement, vous devez créer une EventBridge règle Amazon dans le AWS compte et AWS la région auxquels appartient le cluster. La règle doit utiliser le modèle personnalisé suivant. Pour plus d'informations, consultez la section Création de EventBridge règles Amazon qui réagissent aux événements dans le guide de EventBridge l'utilisateur Amazon.
{ "source": ["aws.eks"], "detail-type": ["EKS Fargate Pod Scheduled Termination"] }
Une cible appropriée peut être définie pour que l'événement le capture. Pour obtenir la liste complète des cibles disponibles, consultez les EventBridge cibles Amazon dans le guide de EventBridge l'utilisateur Amazon. Vous pouvez également créer une configuration de notification dans Notifications AWS utilisateur. Lorsque vous utilisez le AWS Management Console pour créer la notification, sous Règles relatives aux événements, choisissez Elastic Kubernetes Service (EKS) pour le nom du service et EKS Fargate AWS Pod Scheduled Termination pour le type d'événement. Pour plus d'informations, voir Commencer à utiliser les notifications AWS utilisateur dans le Guide de AWS l'utilisateur des notifications utilisateur.
Voir FAQs: Avis d'expulsion de Fargate Pod AWS dans Re:post pour les questions fréquemment posées concernant les expulsions