2.6.3.2. LoadBalancerService Ingress 컨트롤러를 생성하는 동안 서브넷 선택
기존 클러스터에서 Ingress 컨트롤러의 네트워크 배치를 수동으로 제어하려면 구성에 로드 밸런서 서브넷을 지정합니다. 이 방법을 사용하면 Amazon Web Services에서 사용하는 기본 자동 서브넷 검색 방법을 재정의하여 인프라를 정확하게 제어할 수 있습니다.
사전 요구 사항
- AWS 클러스터가 설치되어 있어야 합니다.
-
IngressController를 매핑하려는 서브넷의 이름 또는 ID를 알아야 합니다.
프로세스
sample-ingress.yaml과 같은 사용자 정의 리소스(CR) YAML 파일을 생성하고 파일에 다음 콘텐츠를 지정합니다.apiVersion: operator.openshift.io/v1 kind: IngressController metadata: namespace: openshift-ingress-operator name: <name> spec: domain: <domain> endpointPublishingStrategy: type: LoadBalancerService loadBalancer: scope: External dnsManagementPolicy: Managed # ...CR 파일에 서브넷을 추가합니다.
apiVersion: operator.openshift.io/v1 kind: IngressController metadata: name: <name> namespace: openshift-ingress-operator spec: domain: <domain> endpointPublishingStrategy: type: LoadBalancerService loadBalancer: scope: External providerParameters: type: AWS aws: type: Classic classicLoadBalancer: subnets: ids: - <subnet> - <subnet> - <subnet> dnsManagementPolicy: Managed다음과 같습니다.
name-
IngressController의 이름을 지정합니다. domain-
IngressController에서 서비스를 제공하는 DNS 이름을 지정합니다. classicLoadBalancer-
NLB를 사용하는 경우 CLB 또는
필드를 사용하는 경우 ClassicLoadBalancer 유형 중 하나를 지정합니다.networkLoadBalancer ids-
ID로 서브넷을 지정하는 대신
names필드를 사용하여 이름으로 서브넷을 지정합니다. 이 필드는 선택 사항입니다. <subnet>서브넷 ID(또는 이름을 사용하는 경우 이름)를 지정합니다.
중요가용성 영역당 최대 하나의 서브넷을 지정할 수 있습니다. 외부 Ingress 컨트롤러의 퍼블릭 서브넷 및 내부 Ingress 컨트롤러의 프라이빗 서브넷만 제공합니다.
OpenShift CLI(
oc)를 사용하여 CR 파일을 저장하고 적용합니다.$ oc apply -f sample-ingress.yamlIngressController조건을 확인하여 로드 밸런서가 성공적으로 프로비저닝되었는지 확인합니다.$ oc get ingresscontroller -n openshift-ingress-operator <name> -o jsonpath="{.status.conditions}" | yq -PC