Chapitre 9. Tutoriel: AWS Load Balancer Operator sur ROSA
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.
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 Copier lienLien copié sur presse-papiers!
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.
- Cluster classique ROSA multi-AZ
- BYO VPC cluster
- AWS CLI
- CLI D’OCC
9.1.1. Environnement Copier lienLien copié sur presse-papiers!
Élaborer les variables de l’environnement:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.1.2. AWS VPC et sous-réseaux Copier lienLien copié sur presse-papiers!
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.
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}")
$ 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 Copied! Toggle word wrap Toggle overflow 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}
$ aws ec2 create-tags --resources ${VPC_ID} --tags Key=kubernetes.io/cluster/${CLUSTER_NAME},Value=owned --region ${REGION}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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}
$ aws ec2 create-tags \ --resources ${PUBLIC_SUBNET_IDS} \ --tags Key=kubernetes.io/role/elb,Value='' \ --region ${REGION}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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}
$ aws ec2 create-tags \ --resources "${PRIVATE_SUBNET_IDS}" \ --tags Key=kubernetes.io/role/internal-elb,Value='' \ --region ${REGION}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow