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.
Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque 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.
Utilisation des annotations de service pour configurer les équilibreurs de charge Network Load Balancer
Découvrez comment configurer les équilibreurs de charge Network Load Balancer (NLB) dans Amazon EKS à l’aide des annotations du service Kubernetes. Cette rubrique décrit les annotations prises en charge par le mode automatique d'EKS pour personnaliser le comportement du NLB, notamment l'accessibilité à Internet, les bilans de santé, la SSL/TLS résiliation et les modes de ciblage IP.
Lorsque vous créez un service Kubernetes de type LoadBalancer EKS Auto Mode, EKS approvisionne et configure automatiquement un AWS Network Load Balancer en fonction des annotations que vous spécifiez. Cette approche déclarative vous permet de gérer les configurations des équilibreurs de charge directement via vos manifestes Kubernetes, conformément aux pratiques d’infrastructure en tant que code.
Le mode automatique EKS gère le provisionnement du Network Load Balancer par défaut pour tous les types LoadBalancer de services. Aucune installation ou configuration de contrôleur supplémentaire n'est requise. La spécification loadBalancerClass: eks.amazonaws.com/nlb est automatiquement définie comme valeur par défaut du cluster, simplifiant ainsi le déploiement et assurant la compatibilité avec les charges de travail Kubernetes existantes.
Note
Le mode automatique EKS nécessite l’ajout de balises sur les sous-réseaux afin d’identifier les sous-réseaux publics et privés.
Si vous avez créé votre cluster avec eksctl, ces balises sont déjà présentes.
Découvrez comment Baliser les sous-réseaux pour le mode automatique EKS.
Exemple de service
Pour plus d’informations sur la ressource Kubernetes Service, consultez la documentation Kubernetes
Consultez l’exemple de ressource Service ci-dessous :
apiVersion: v1 kind: Service metadata: name: echoserver annotations: # Specify the load balancer scheme as internet-facing to create a public-facing Network Load Balancer (NLB) service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing spec: selector: app: echoserver ports: - port: 80 targetPort: 8080 protocol: TCP type: LoadBalancer # Specify the new load balancer class for NLB as part of EKS Auto Mode feature # For clusters with Auto Mode enabled, this field can be omitted as it's the default loadBalancerClass: eks.amazonaws.com/nlb
Annotations couramment utilisées
Le tableau ci-dessous présente les annotations couramment utilisées et prises en charge par le mode automatique EKS. Notez que le mode automatique EKS ne prend pas en charge toutes les annotations existantes.
Astuce
Toutes les annotations suivantes doivent être préfixées par service.beta.kubernetes.io/
| Champ | Description | Exemple |
|---|---|---|
|
|
Spécifie le type d’équilibreur de charge. Utilisez |
|
|
|
Spécifie s'il faut acheminer le trafic vers les instances de nœuds ou directement vers le pod IPs. Utilisez |
|
|
|
Contrôle si l’équilibreur de charge est interne ou accessible depuis Internet. |
|
|
|
Protocole de surveillance de l’état pour le groupe cible. Les options courantes sont |
|
|
|
Le chemin HTTP pour les contrôles de santé lors de l'utilisation HTTP/HTTPS du protocole. |
|
|
|
Port utilisé pour la surveillance de l’état. Il peut s’agir d’un numéro de port spécifique ou du |
|
|
|
Spécifie les sous-réseaux dans lesquels créer l’équilibreur de charge. Peut utiliser un sous-réseau IDs ou des noms. |
|
|
|
ARN du certificat SSL fourni par Certificate Manager for HTTPS/TLS. AWS |
|
|
|
Spécifie les ports devant utiliser SSL/TLS. |
|
|
|
Plages CIDR autorisées à accéder à l’équilibreur de charge. |
|
|
|
AWS Balises supplémentaires à appliquer à l'équilibreur de charge et aux ressources associées. |
|
|
|
Spécifie si l'équilibreur de charge utilise IPv4 ou double pile (IPv4 + IPv6). |
|
Considérations
-
Vous devez mettre à jour le rôle IAM du cluster pour permettre la propagation des balises depuis Kubernetes vers les ressources Load AWS Balancer. Pour de plus amples informations, veuillez consulter AWS Balises personnalisées pour les ressources EKS Auto.
-
Pour plus d'informations sur l'association de ressources au mode automatique EKS ou au AWS Load Balancer Controller autogéré, consultez. Référence de migration
-
Pour plus d’informations sur la résolution des problèmes liés aux équilibreurs de charge, consultez Résolution des problèmes avec le mode automatique EKS.
-
Pour des considérations supplémentaires concernant l’utilisation de la fonctionnalité d’équilibrage de charge du mode automatique EKS, consultez Équilibrage de charge.
Lors de la migration vers le mode automatique EKS pour l’équilibrage de charge, plusieurs modifications concernant les annotations de service et la configuration des ressources sont nécessaires. Les tableaux suivants présentent les principales différences entre l’ancienne et la nouvelle mise en œuvre, incluant les options non prises en charge et les alternatives recommandées.
Annotations de service
| Précédent | Nouveau | Description |
|---|---|---|
|
|
Non pris en charge |
Utiliser |
|
|
Non pris en charge |
Utiliser |
|
|
Non pris en charge |
Utilisation des |
|
|
Non pris en charge |
Utiliser |
|
Divers attributs de l’équilibreur de charge |
Non pris en charge |
Utilisation des |
|
|
Non pris en charge |
Utiliser |
|
|
Non pris en charge |
Utiliser |
|
|
Non pris en charge |
Utiliser |
|
|
Non pris en charge |
Utiliser |
Pour migrer à partir des annotations d’attributs d’équilibreur de charge désormais obsolètes, regroupez ces paramètres dans l’annotation service.beta.kubernetes.io/aws-load-balancer-attributes. Cette annotation accepte une liste de paires clé-valeur séparées par des virgules afin de définir plusieurs attributs de l’équilibreur de charge. Par exemple, pour spécifier la journalisation des accès et l'équilibrage de charge entre zones, utilisez le format suivant :
service.beta.kubernetes.io/aws-load-balancer-attributes: access_logs.s3.enabled=true,access_logs.s3.bucket=my-bucket,access_logs.s3.prefix=my-prefix,load_balancing.cross_zone.enabled=true
Ce format consolidé offre une méthode plus cohérente et flexible pour configurer les attributs de l’équilibreur de charge, tout en réduisant le nombre d’annotations nécessaires. Passez en revue vos configurations de service existantes et mettez-les à jour pour utiliser ce format consolidé.
TargetGroupBinding
| Précédent | Nouveau | Description |
|---|---|---|
|
|
|
Modifications de version d’API |
|
|
|
Spécifications explicite du type de cible |
|
|
Non pris en charge |
Ne prend plus en charge NLB sans groupes de sécurité |
Remarque : Pour utiliser la TargetGroupBinding fonctionnalité personnalisée, vous devez étiqueter le groupe cible avec le eks:eks-cluster-name tag portant le nom du cluster afin d'accorder au contrôleur les autorisations IAM nécessaires. Sachez que le contrôleur supprimera le groupe cible lorsque la TargetGroupBinding ressource ou le cluster sera supprimé.