Chapitre 9. Tutoriel: AWS Load Balancer Operator sur ROSA


Important

Ce contenu est rédigé par des experts de Red Hat, mais n’a pas encore été testé sur toutes les configurations prises en charge.

Astuce

Les balanceurs de charge créés par AWS Load Balancer Operator ne peuvent pas être utilisés pour les routes OpenShift, et ne doivent être utilisés que pour des services individuels ou des ressources d’entrée qui n’ont pas besoin des capacités de la couche 7 complète d’une route OpenShift.

Le contrôleur AWS Load Balancer gère AWS Elastic Load Balancers pour un cluster Red Hat OpenShift Service sur AWS (ROSA). Le contrôleur prévoit AWS Application Load Balancers (ALB) lorsque vous créez des ressources Kubernetes Ingress et AWS Network Load Balancers (NLB) lorsque vous implémentez des ressources Kubernetes Service avec un type de LoadBalancer.

Comparé au fournisseur d’équilibrage de charge AWS par défaut, ce contrôleur est développé avec des annotations avancées pour les ALB et les NLB. Certains cas d’utilisation avancés sont:

  • En utilisant des objets natives Kubernetes Ingress avec ALBs
  • Intégrez les ALB au service AWS Web Application Firewall (WAF)
  • Spécifiez les plages IP de source NLB personnalisées
  • Indiquez les adresses IP internes NLB personnalisées

L’opérateur AWS Load Balancer est utilisé pour installer, gérer et configurer une instance de contrôleur aws-charge-balancer dans un cluster ROSA.

9.1. Conditions préalables

Note

Les ALB AWS nécessitent un cluster multi-AZ, ainsi que trois sous-réseaux publics répartis en trois AZ dans le même VPC que le cluster. Cela rend les ALB inadaptés à de nombreux clusters PrivateLink. Les NLB AWS n’ont pas cette restriction.

9.1.1. Environnement

  • Élaborer les variables de l’environnement:

    $ export AWS_PAGER=""
    $ export ROSA_CLUSTER_NAME=$(oc get infrastructure cluster -o=jsonpath="{.status.infrastructureName}"  | sed 's/-[a-z0-9]\{5\}$//')
    $ export REGION=$(oc get infrastructure cluster -o=jsonpath="{.status.platformStatus.aws.region}")
    $ export OIDC_ENDPOINT=$(oc get authentication.config.openshift.io cluster -o jsonpath='{.spec.serviceAccountIssuer}' | sed  's|^https://||')
    $ export AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)
    $ export SCRATCH="/tmp/${ROSA_CLUSTER_NAME}/alb-operator"
    $ mkdir -p ${SCRATCH}
    $ echo "Cluster: ${ROSA_CLUSTER_NAME}, Region: ${REGION}, OIDC Endpoint: ${OIDC_ENDPOINT}, AWS Account ID: ${AWS_ACCOUNT_ID}"
    Copy to Clipboard Toggle word wrap

9.1.2. AWS VPC et sous-réseaux

Note

Cette section ne s’applique qu’aux clusters qui ont été déployés dans des VPC existants. Dans le cas où vous n’avez pas déployé votre cluster dans un VPC existant, sautez cette section et passez à la section d’installation ci-dessous.

  1. Définissez les variables ci-dessous aux valeurs appropriées pour votre déploiement ROSA:

    $ export VPC_ID=<vpc-id>
    $ export PUBLIC_SUBNET_IDS=<public-subnets>
    $ export PRIVATE_SUBNET_IDS=<private-subnets>
    $ export CLUSTER_NAME=$(oc get infrastructure cluster -o=jsonpath="{.status.infrastructureName}")
    Copy to Clipboard Toggle word wrap
  2. Ajoutez une balise au VPC de votre cluster avec le nom du cluster:

    $ aws ec2 create-tags --resources ${VPC_ID} --tags Key=kubernetes.io/cluster/${CLUSTER_NAME},Value=owned --region ${REGION}
    Copy to Clipboard Toggle word wrap
  3. Ajoutez une étiquette à vos sous-réseaux publics:

    $ aws ec2 create-tags \
         --resources ${PUBLIC_SUBNET_IDS} \
         --tags Key=kubernetes.io/role/elb,Value='' \
         --region ${REGION}
    Copy to Clipboard Toggle word wrap
  4. Ajouter une balise à vos sous-réseaux privés:

    $ aws ec2 create-tags \
         --resources "${PRIVATE_SUBNET_IDS}" \
         --tags Key=kubernetes.io/role/internal-elb,Value='' \
         --region ${REGION}
    Copy to Clipboard Toggle word wrap
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat