31.4. Mise à l'échelle du trafic entrant en utilisant RHOSP Octavia
Kuryr is a deprecated feature. Deprecated functionality is still included in OpenShift Container Platform and continues to be supported; however, it will be removed in a future release of this product and is not recommended for new deployments.
Pour la liste la plus récente des fonctionnalités majeures qui ont été dépréciées ou supprimées dans OpenShift Container Platform, reportez-vous à la section Deprecated and removed features des notes de mise à jour d'OpenShift Container Platform.
Vous pouvez utiliser les équilibreurs de charge Octavia pour mettre à l'échelle les contrôleurs Ingress sur les clusters qui utilisent Kuryr.
Conditions préalables
- Votre cluster OpenShift Container Platform utilise Kuryr.
- Octavia est disponible sur votre déploiement RHOSP.
Procédure
Pour copier le service interne actuel du routeur, sur une ligne de commande, entrez :
oc -n openshift-ingress get svc router-internal-default -o yaml > external_router.yaml
Dans le fichier
external_router.yaml
, remplacez les valeurs demetadata.name
etspec.type
parLoadBalancer
.Exemple de fichier de routeur
apiVersion: v1 kind: Service metadata: labels: ingresscontroller.operator.openshift.io/owning-ingresscontroller: default name: router-external-default 1 namespace: openshift-ingress spec: ports: - name: http port: 80 protocol: TCP targetPort: http - name: https port: 443 protocol: TCP targetPort: https - name: metrics port: 1936 protocol: TCP targetPort: 1936 selector: ingresscontroller.operator.openshift.io/deployment-ingresscontroller: default sessionAffinity: None type: LoadBalancer 2
Vous pouvez supprimer les horodatages et autres informations non pertinentes pour l'équilibrage de la charge.
À partir d'une ligne de commande, créez un service à partir du fichier
external_router.yaml
:$ oc apply -f external_router.yaml
Vérifiez que l'adresse IP externe du service est la même que celle qui est associée à l'équilibreur de charge :
Sur une ligne de commande, récupérez l'adresse IP externe du service :
$ oc -n openshift-ingress get svc
Exemple de sortie
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE router-external-default LoadBalancer 172.30.235.33 10.46.22.161 80:30112/TCP,443:32359/TCP,1936:30317/TCP 3m38s router-internal-default ClusterIP 172.30.115.123 <none> 80/TCP,443/TCP,1936/TCP 22h
Récupérer l'adresse IP de l'équilibreur de charge :
$ openstack loadbalancer list | grep router-external
Exemple de sortie
| 21bf6afe-b498-4a16-a958-3229e83c002c | openshift-ingress/router-external-default | 66f3816acf1b431691b8d132cc9d793c | 172.30.235.33 | ACTIVE | octavia |
Vérifiez que les adresses que vous avez récupérées dans les étapes précédentes sont associées les unes aux autres dans la liste des adresses IP flottantes :
$ openstack floating ip list | grep 172.30.235.33
Exemple de sortie
| e2f80e97-8266-4b69-8636-e58bacf1879e | 10.46.22.161 | 172.30.235.33 | 655e7122-806a-4e0a-a104-220c6e17bda6 | a565e55a-99e7-4d15-b4df-f9d7ee8c9deb | 66f3816acf1b431691b8d132cc9d793c |
Vous pouvez maintenant utiliser la valeur de EXTERNAL-IP
comme nouvelle adresse d'entrée.
Si Kuryr utilise le pilote Octavia Amphora, tout le trafic est acheminé via une seule machine virtuelle Amphora (VM).
Vous pouvez répéter cette procédure pour créer des équilibreurs de charge supplémentaires, ce qui peut atténuer le goulot d'étranglement.