21.6. Création de plusieurs entrées
Vous pouvez acheminer le trafic vers différents services faisant partie d'un même domaine par le biais d'un seul équilibreur de charge AWS (ALB). Chaque ressource d'entrée fournit différents points d'extrémité du domaine.
21.6.1. Création de plusieurs entrées via un seul équilibreur de charge AWS
Vous pouvez acheminer le trafic vers plusieurs entrées via un seul équilibreur de charge AWS (ALB) à l'aide de la CLI.
Conditions préalables
-
Vous avez un accès au CLI OpenShift (
oc
).
Procédure
Créez un fichier YAML de la ressource
IngressClassParams
, par exemplesample-single-lb-params.yaml
, comme suit :apiVersion: elbv2.k8s.aws/v1beta1 1 kind: IngressClassParams metadata: name: <single-lb-params> 2 spec: group: name: single-lb 3
Créez une ressource
IngressClassParams
en exécutant la commande suivante :$ oc create -f sample-single-lb-params.yaml
Créez un fichier YAML de la ressource
IngressClass
, par exemplesample-single-lb.yaml
, comme suit :apiVersion: networking.k8s.io/v1 1 kind: IngressClass metadata: name: <single-lb> 2 spec: controller: ingress.k8s.aws/alb 3 parameters: apiGroup: elbv2.k8s.aws 4 kind: IngressClassParams 5 name: single-lb 6
- 1
- Définit le groupe API et la version de la ressource
IngressClass
. - 2
- Spécifie le nom du site
IngressClass
. - 3
- Définit le nom du contrôleur, commun à tous les
IngressClasses
. Le siteaws-load-balancer-controller
réconcilie le contrôleur. - 4
- Définit le groupe API de la ressource
IngressClassParams
. - 5
- Définit le type de ressource de la ressource
IngressClassParams
. - 6
- Définit le nom de la ressource
IngressClassParams
.
Créez une ressource
IngressClass
en exécutant la commande suivante :$ oc create -f sample-single-lb.yaml
Créez un fichier YAML de la ressource
Ingress
, par exemplesample-multiple-ingress.yaml
, comme suit :apiVersion: networking.k8s.io/v1 1 kind: Ingress metadata: name: <example-1> 2 annotations: alb.ingress.kubernetes.io/scheme: internet-facing 3 alb.ingress.kubernetes.io/group.order: "1" 4 spec: ingressClass: alb 5 rules: - host: example.com 6 http: paths: - path: /blog 7 backend: service: name: <example-1> 8 port: number: 80 9 kind: Ingress metadata: name: <example-2> annotations: alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/group.order: "2" spec: ingressClass: alb rules: - host: example.com http: paths: - path: /store backend: service: name: <example-2> port: number: 80 kind: Ingress metadata: name: <example-3> annotations: alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/group.order: "3" spec: ingressClass: alb rules: - host: example.com http: paths: - path: / backend: service: name: <example-3> port: number: 80
- 1 2
- Spécifie le nom d'une entrée.
- 3
- Indique que l'équilibreur de charge doit être placé dans le sous-réseau public et le rend accessible sur l'internet.
- 4
- Spécifie l'ordre dans lequel les règles des entrées sont appliquées lorsque la demande est reçue par l'équilibreur de charge.
- 5
- Spécifie la classe d'entrée qui appartient à cette entrée.
- 6
- Définit le nom d'un domaine utilisé pour l'acheminement des demandes.
- 7
- Définit le chemin qui doit mener au service.
- 8
- Définit le nom du service qui dessert le point de terminaison configuré dans l'entrée.
- 9
- Définit le port du service qui dessert le point d'extrémité.
Créez les ressources
Ingress
en exécutant la commande suivante :$ oc create -f sample-multiple-ingress.yaml