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.
Découvrez comment configurer les équilibreurs de charge réseau (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 terminaison SSL/TLS 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 d'équilibreurs de charge directement via vos manifestes Kubernetes, en maintenant l'infrastructure en tant que pratiques de 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 loadBalancerClass: eks.amazonaws.com/nlb
spécification est automatiquement définie comme valeur par défaut du cluster, ce qui rationalise le processus de déploiement tout en maintenant la compatibilité avec les charges de travail Kubernetes existantes.
Note
Le mode automatique d'EKS nécessite des balises de sous-réseau pour identifier les sous-réseaux publics et privés.
Si vous avez créé votre cluster aveceksctl
, vous possédez déjà ces balises.
Découvrez comment Sous-réseaux de balises pour le mode automatique EKS.
Service d'échantillons
Pour plus d'informations sur la Service
ressource Kubernetes, consultez la documentation Kubernetes.
Consultez l'exemple de Service
ressource 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 suivant répertorie les annotations couramment utilisées prises en charge par le mode automatique EKS. Notez que le mode automatique d'EKS peut ne pas prendre en charge toutes les annotations.
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. À utiliser |
|
|
Spécifie s'il faut acheminer le trafic vers les instances de nœuds ou directement vers le pod IPs. |
|
|
Contrôle si l'équilibreur de charge est interne ou connecté à Internet. |
|
|
Protocole de contrôle de santé pour le groupe cible. Les options courantes sont |
|
|
Le chemin HTTP pour les contrôles de santé lors de l'utilisation du protocole HTTP/HTTPS. |
|
|
Port utilisé pour les contrôles de santé. Il peut s'agir d'un numéro de port spécifique ou |
|
|
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 qui doivent utiliser le protocole SSL/TLS. |
|
|
Les plages CIDR sont 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, consultezRésoudre les problèmes liés au mode automatique d'EKS.
-
Pour plus d'informations sur l'utilisation de la fonctionnalité d'équilibrage de charge du mode automatique EKS, voirEquilibrage de charge.
Lors de la migration vers le mode automatique EKS pour l'équilibrage de charge, plusieurs modifications des annotations de service et des configurations des ressources sont nécessaires. Les tableaux suivants présentent les principales différences entre les implémentations précédentes et nouvelles, notamment les options non prises en charge et les alternatives recommandées.
Annotations de service
Précédent | New | Description |
---|---|---|
|
Non pris en charge |
Utilisation |
|
Non pris en charge |
Utilisation |
|
Non pris en charge |
Utiliser |
Différents attributs de l'équilibreur de charge |
Non pris en charge |
Utiliser |
|
Non pris en charge |
Utilisez |
|
Non pris en charge |
Utilisez |
|
Non pris en charge |
Utilisez |
|
Non pris en charge |
Utilisez |
|
Non pris en charge |
Utilisez |
Pour effectuer une migration à partir d'annotations d'attributs d'équilibreur de charge obsolètes, consolidez ces paramètres dans l'annotation. service.beta.kubernetes.io/aws-load-balancer-attributes
Cette annotation accepte une liste séparée par des virgules de paires clé-valeur pour les différents attributs de l'équilibreur de charge. Par exemple, pour spécifier le protocole proxy, 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
service.beta.kubernetes.io/aws-load-balancer-target-group-attributes: |
proxy_protocol_v2.enabled=true
Ce format consolidé fournit un moyen plus cohérent et flexible de configurer les attributs de l'équilibreur de charge tout en réduisant le nombre d'annotations individuelles nécessaires. Passez en revue vos configurations de service existantes et mettez-les à jour pour utiliser ce format consolidé.
TargetGroupBinding
Précédent | New | Description |
---|---|---|
|
|
Modification de la version de l'API |
|
|
Spécification explicite du type de cible |
|
Non pris en charge |
Ne prend plus en charge le NLB sans groupes de sécurité |