18.4. 여러 Ingress 생성
단일 AWS Load Balancer(ALB)를 통해 단일 도메인에 속하는 다른 서비스로 트래픽을 라우팅할 수 있습니다. 각 Ingress 리소스는 도메인의 다양한 끝점을 제공합니다.
18.4.1. 단일 AWS 로드 밸런서를 통해 여러 인그레스 생성
CLI를 사용하여 단일 AWS Load Balancer(ALB)를 통해 트래픽을 여러 Ingress로 라우팅할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)에 액세스할 수 있습니다.
프로세스
다음과 같이
IngressClassParams
리소스 YAML 파일을 생성합니다(예:sample-single-lb-params.yaml
).apiVersion: elbv2.k8s.aws/v1beta1 1 kind: IngressClassParams metadata: name: <single-lb-params> 2 spec: group: name: single-lb 3
다음 명령을 실행하여
IngressClassParams
리소스를 생성합니다.$ oc create -f sample-single-lb-params.yaml
다음과 같이
IngressClass
리소스 YAML 파일을 생성합니다(예:sample-single-lb.yaml
).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
다음 명령을 실행하여
IngressClass
리소스를 생성합니다.$ oc create -f sample-single-lb.yaml
다음과 같이
Ingress
리소스 YAML 파일을 생성합니다(예:sample-multiple-ingress.yaml
).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
다음 명령을 실행하여
Ingress
리소스를 생성합니다.$ oc create -f sample-multiple-ingress.yaml