2.6. AWS에서 인그레스 클러스터 트래픽 구성


OpenShift Container Platform에서는 클러스터에서 실행되는 서비스와 클러스터 외부에서 통신할 수 있습니다. 이 방법은 AWS의 로드 밸런서, 특히 네트워크 로드 밸런서(NLB) 또는 클래식 로드 밸런서(CLB)를 사용합니다. 두 유형의 로드 밸런서 모두 클라이언트의 IP 주소를 노드로 전달할 수 있지만, CLB에는 프록시 프로토콜 지원이 필요하며, OpenShift Container Platform은 이를 자동으로 활성화합니다.

NLB를 사용하도록 Ingress Controller를 구성하는 방법에는 두 가지가 있습니다.

  1. 현재 CLB를 사용 중인 Ingress Controller를 강제로 교체합니다. 이렇게 하면 IngressController 객체가 삭제되고 새로운 DNS 레코드가 전파되고 NLB가 프로비저닝되는 동안 중단이 발생합니다.
  2. CLB를 사용하는 기존 Ingress 컨트롤러를 편집하여 NLB를 사용합니다. 이렇게 하면 IngressController 객체를 삭제하고 다시 만들지 않고도 로드 밸런서를 변경할 수 있습니다.

두 방법 모두 NLB에서 CLB로 전환하는 데 사용할 수 있습니다.

이러한 로드 밸런서는 새 AWS 클러스터나 기존 AWS 클러스터에서 구성할 수 있습니다.

2.6.1. AWS에서 Classic Load Balancer 시간 초과 구성

OpenShift Container Platform은 특정 경로 또는 Ingress Controller에 대한 사용자 정의 시간 초과 기간을 설정하는 방법을 제공합니다. 또한 AWS Classic Load Balancer(CLB)에는 기본적으로 60초의 시간 초과 기간이 있습니다.

CLB의 시간 초과 기간이 경로 시간 초과 또는 Ingress Controller 시간 초과보다 짧으면 로드 밸런서가 연결을 조기에 종료할 수 있습니다. 경로의 시간 초과 기간과 CLB를 모두 늘리면 이 문제를 방지할 수 있습니다.

2.6.1.1. 경로 시간 초과 구성

SLA(Service Level Availability) 목적에 필요한 낮은 시간 초과 또는 백엔드가 느린 경우 높은 시간 초과가 필요한 서비스가 있는 경우 기존 경로에 대한 기본 시간 초과를 구성할 수 있습니다.

중요

OpenShift Container Platform 클러스터 앞에 사용자 관리 외부 로드 밸런서를 구성한 경우 사용자 관리 외부 로드 밸런서의 시간 초과 값이 경로의 시간 초과 값보다 높아야 합니다. 이 구성은 클러스터가 사용하는 네트워크에서 네트워크 혼잡 문제가 발생하는 것을 방지합니다.

사전 요구 사항

  • 실행 중인 클러스터에 배포된 Ingress 컨트롤러가 필요합니다.

프로세스

  1. oc annotate 명령을 사용하여 경로에 시간 초과를 추가합니다.

    $ oc annotate route <route_name> \
        --overwrite haproxy.router.openshift.io/timeout=<timeout><time_unit> 
    1
    Copy to Clipboard Toggle word wrap
    1
    지원되는 시간 단위는 마이크로초(us), 밀리초(ms), 초(s), 분(m), 시간(h) 또는 일(d)입니다.

    다음 예제는 이름이 myroute인 경로에서 2초의 시간 초과를 설정합니다.

    $ oc annotate route myroute --overwrite haproxy.router.openshift.io/timeout=2s
    Copy to Clipboard Toggle word wrap

2.6.1.2. Classic Load Balancer 시간 초과 구성

클래식 로드 밸런서(CLB)의 기본 시간 초과를 구성하여 유휴 연결을 연장할 수 있습니다.

사전 요구 사항

  • 실행 중인 클러스터에 Ingress Controller가 배포되어 있어야 합니다.

프로세스

  1. 다음 명령을 실행하여 기본 ingresscontroller에 대한 AWS 연결 유휴 시간 제한을 5분으로 설정합니다.

    $ oc -n openshift-ingress-operator patch ingresscontroller/default \
        --type=merge --patch='{"spec":{"endpointPublishingStrategy": \
        {"type":"LoadBalancerService", "loadBalancer": \
        {"scope":"External", "providerParameters":{"type":"AWS", "aws": \
        {"type":"Classic", "classicLoadBalancer": \
        {"connectionIdleTimeout":"5m"}}}}}}}'
    Copy to Clipboard Toggle word wrap
  2. 선택 사항: 다음 명령을 실행하여 시간 초과의 기본값을 복원합니다.

    $ oc -n openshift-ingress-operator patch ingresscontroller/default \
        --type=merge --patch='{"spec":{"endpointPublishingStrategy": \
        {"loadBalancer":{"providerParameters":{"aws":{"classicLoadBalancer": \
        {"connectionIdleTimeout":null}}}}}}}'
    Copy to Clipboard Toggle word wrap
참고

현재 범위가 이미 설정되어 있지 않으면 연결 시간 초과 값을 변경할 때 범위 필드를 지정해야 합니다. 범위 필드를 설정하면 기본 시간 초과 값을 복원하는 경우 다시 설정할 필요가 없습니다.

OpenShift Container Platform은 클러스터 내에서 실행되는 서비스와 클러스터 외부에서 통신하는 방법을 제공합니다. 이러한 방법 중 하나는 네트워크 부하 분산 장치(NLB)를 사용합니다. 신규 또는 기존 AWS 클러스터에서 NLB를 구성할 수 있습니다.

AWS에서 Classic Load Balancer(CLB)를 사용하는 Ingress Controller를 Network Load Balancer(NLB)를 사용하는 Ingress Controller로 전환할 수 있습니다.

이러한 로드 밸런서 간에 전환해도 IngressController 개체는 삭제되지 않습니다.

주의

이 절차로 인해 다음과 같은 문제가 발생할 수 있습니다.

  • 새로운 DNS 레코드 전파, 새로운 로드 밸런서 프로비저닝 및 기타 요소로 인해 몇 분 동안 지속될 수 있는 중단입니다. 이 절차를 적용하면 Ingress Controller 로드 밸런서의 IP 주소와 정식 이름이 변경될 수 있습니다.
  • 서비스 주석 변경으로 인해 로드 밸런서 리소스가 누출되었습니다.

프로세스

  1. NLB를 사용하여 전환하려는 기존 Ingress Controller를 수정합니다. 이 예에서는 기본 Ingress 컨트롤러에 외부 범위가 있고 다른 사용자 정의가 없다고 가정합니다.

    ingresscontroller.yaml 파일 예시

    apiVersion: operator.openshift.io/v1
    kind: IngressController
    metadata:
      creationTimestamp: null
      name: default
      namespace: openshift-ingress-operator
    spec:
      endpointPublishingStrategy:
        loadBalancer:
          scope: External
          providerParameters:
            type: AWS
            aws:
              type: NLB
        type: LoadBalancerService
    Copy to Clipboard Toggle word wrap

    참고

    spec.endpointPublishingStrategy.loadBalancer.providerParameters.aws.type 필드에 값을 지정하지 않으면 Ingress Controller는 설치 중에 설정된 클러스터 Ingress 구성의 spec.loadBalancer.platform.aws.type 값을 사용합니다.

    작은 정보

    Ingress Controller에 도메인 변경 등 업데이트하려는 다른 사용자 정의가 있는 경우 대신 Ingress Controller 정의 파일을 강제로 바꾸는 것을 고려하세요.

  2. 다음 명령을 실행하여 Ingress Controller YAML 파일에 변경 사항을 적용합니다.

    $ oc apply -f ingresscontroller.yaml
    Copy to Clipboard Toggle word wrap

    Ingress Controller가 업데이트되는 동안 몇 분간 중단이 예상됩니다.

AWS에서 네트워크 로드 밸런서(NLB)를 사용하는 Ingress 컨트롤러를 클래식 로드 밸런서(CLB)를 사용하는 Ingress 컨트롤러로 전환할 수 있습니다.

이러한 로드 밸런서 간에 전환해도 IngressController 개체는 삭제되지 않습니다.

주의

이 절차를 수행하면 새로운 DNS 레코드 전파, 새로운 로드 밸런서 프로비저닝 및 기타 요소로 인해 몇 분 동안 지속되는 중단이 발생할 수 있습니다. 이 절차를 적용하면 Ingress Controller 로드 밸런서의 IP 주소와 정식 이름이 변경될 수 있습니다.

프로세스

  1. CLB를 사용하여 전환하려는 기존 Ingress 컨트롤러를 수정합니다. 이 예에서는 기본 Ingress 컨트롤러에 외부 범위가 있고 다른 사용자 정의가 없다고 가정합니다.

    ingresscontroller.yaml 파일 예시

    apiVersion: operator.openshift.io/v1
    kind: IngressController
    metadata:
      creationTimestamp: null
      name: default
      namespace: openshift-ingress-operator
    spec:
      endpointPublishingStrategy:
        loadBalancer:
          scope: External
          providerParameters:
            type: AWS
            aws:
              type: Classic
        type: LoadBalancerService
    Copy to Clipboard Toggle word wrap

    참고

    spec.endpointPublishingStrategy.loadBalancer.providerParameters.aws.type 필드에 값을 지정하지 않으면 Ingress Controller는 설치 중에 설정된 클러스터 Ingress 구성의 spec.loadBalancer.platform.aws.type 값을 사용합니다.

    작은 정보

    Ingress Controller에 도메인 변경 등 업데이트하려는 다른 사용자 정의가 있는 경우 대신 Ingress Controller 정의 파일을 강제로 바꾸는 것을 고려하세요.

  2. 다음 명령을 실행하여 Ingress Controller YAML 파일에 변경 사항을 적용합니다.

    $ oc apply -f ingresscontroller.yaml
    Copy to Clipboard Toggle word wrap

    Ingress Controller가 업데이트되는 동안 몇 분간 중단이 예상됩니다.

2.6.2.3. Ingress Controller Classic Load Balancer를 Network Load Balancer로 교체

AWS에서 Classic Load Balancer(CLB)를 사용하는 Ingress Controller를 Network Load Balancer(NLB)를 사용하는 Ingress Controller로 교체할 수 있습니다.

주의

이 절차로 인해 다음과 같은 문제가 발생할 수 있습니다.

  • 새로운 DNS 레코드 전파, 새로운 로드 밸런서 프로비저닝 및 기타 요소로 인해 몇 분 동안 지속될 수 있는 중단입니다. 이 절차를 적용하면 Ingress Controller 로드 밸런서의 IP 주소와 정식 이름이 변경될 수 있습니다.
  • 서비스 주석 변경으로 인해 로드 밸런서 리소스가 누출되었습니다.

프로세스

  1. 새로운 기본 Ingress 컨트롤러로 파일을 만듭니다. 다음 예에서는 기본 Ingress 컨트롤러에 외부 범위가 있고 다른 사용자 정의가 없다고 가정합니다.

    ingresscontroller.yml 파일 예시

    apiVersion: operator.openshift.io/v1
    kind: IngressController
    metadata:
      creationTimestamp: null
      name: default
      namespace: openshift-ingress-operator
    spec:
      endpointPublishingStrategy:
        loadBalancer:
          scope: External
          providerParameters:
            type: AWS
            aws:
              type: NLB
        type: LoadBalancerService
    Copy to Clipboard Toggle word wrap

    기본 Ingress 컨트롤러에 다른 사용자 정의가 있는 경우 해당 파일을 적절히 수정해야 합니다.

    작은 정보

    Ingress 컨트롤러에 다른 사용자 정의가 없고 로드 밸런서 유형만 업데이트하는 경우 "클래식 로드 밸런서를 사용하는 Ingress 컨트롤러에서 네트워크 로드 밸런서로 전환"에 자세히 설명된 절차를 따르는 것이 좋습니다.

  2. Ingress Controller YAML 파일을 강제로 교체합니다.

    $ oc replace --force --wait -f ingresscontroller.yml
    Copy to Clipboard Toggle word wrap

    Ingress Controller가 교체될 때까지 기다리세요. 몇 분 동안의 정전이 예상됩니다.

기존 클러스터에서 AWS NLB(Network Load Balancer)가 지원하는 Ingress 컨트롤러를 생성할 수 있습니다.

사전 요구 사항

  • AWS 클러스터가 설치되어 있어야 합니다.
  • 인프라 리소스의 PlatformStatus는 AWS여야 합니다.

    • PlatformStatus가 AWS인지 확인하려면 다음을 실행하십시오.

      $ oc get infrastructure/cluster -o jsonpath='{.status.platformStatus.type}'
      AWS
      Copy to Clipboard Toggle word wrap

프로세스

기존 클러스터에서 AWS NLB가 지원하는 Ingress 컨트롤러를 생성합니다.

  1. Ingress 컨트롤러 매니페스트를 생성합니다.

     $ cat ingresscontroller-aws-nlb.yaml
    Copy to Clipboard Toggle word wrap

    출력 예

    apiVersion: operator.openshift.io/v1
    kind: IngressController
    metadata:
      name: $my_ingress_controller
    1
    
      namespace: openshift-ingress-operator
    spec:
      domain: $my_unique_ingress_domain
    2
    
      endpointPublishingStrategy:
        type: LoadBalancerService
        loadBalancer:
          scope: External
    3
    
          providerParameters:
            type: AWS
            aws:
              type: NLB
    Copy to Clipboard Toggle word wrap

    1
    $my_ingress_controller를 Ingress 컨트롤러에 대해 고유한 이름으로 교체합니다.
    2
    $my_unique_ingress_domain을 클러스터의 모든 Ingress 컨트롤러 간에 고유한 도메인 이름으로 교체합니다. 이 변수는 DNS 이름 <clustername>.<domain> 의 하위 도메인이어야 합니다.
    3
    내부 NLB를 사용하려면 ExternalInternal로 교체할 수 있습니다.
  2. 클러스터에서 리소스를 생성합니다.

    $ oc create -f ingresscontroller-aws-nlb.yaml
    Copy to Clipboard Toggle word wrap
중요

새로운 AWS 클러스터에서 Ingress Controller NLB를 구성하려면 먼저 설치 구성 파일 생성 절차를 완료해야 합니다.

새 클러스터에서 AWS NLB(Network Load Balancer)가 지원하는 Ingress 컨트롤러를 생성할 수 있습니다.

사전 요구 사항

  • install-config.yaml 파일을 생성하고 수정합니다.

프로세스

새 클러스터에서 AWS NLB가 지원하는 Ingress 컨트롤러를 생성합니다.

  1. 설치 프로그램이 포함된 디렉터리로 변경하고 매니페스트를 생성합니다.

    $ ./openshift-install create manifests --dir <installation_directory> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <installation_directory>는 클러스터의 install-config.yaml 파일이 포함된 디렉터리의 이름을 지정합니다.
  2. <installation_directory>/manifests/ 디렉터리에 cluster-ingress-default-ingresscontroller.yaml이라는 이름으로 파일을 만듭니다.

    $ touch <installation_directory>/manifests/cluster-ingress-default-ingresscontroller.yaml 
    1
    Copy to Clipboard Toggle word wrap
    1
    <installation_directory>는 클러스터의 manifests / 디렉터리가 포함된 디렉터리 이름을 지정합니다.

    파일이 생성되면 다음과 같이 여러 네트워크 구성 파일이 manifests/ 디렉토리에 나타납니다.

    $ ls <installation_directory>/manifests/cluster-ingress-default-ingresscontroller.yaml
    Copy to Clipboard Toggle word wrap

    출력 예

    cluster-ingress-default-ingresscontroller.yaml
    Copy to Clipboard Toggle word wrap

  3. 편집기에서 cluster-ingress-default-ingresscontroller.yaml 파일을 열고 원하는 운영자 구성을 설명하는 CR(사용자 정의 리소스)을 입력합니다.

    apiVersion: operator.openshift.io/v1
    kind: IngressController
    metadata:
      creationTimestamp: null
      name: default
      namespace: openshift-ingress-operator
    spec:
      endpointPublishingStrategy:
        loadBalancer:
          scope: External
          providerParameters:
            type: AWS
            aws:
              type: NLB
        type: LoadBalancerService
    Copy to Clipboard Toggle word wrap
  4. cluster-ingress-default-ingresscontroller.yaml 파일을 저장하고 텍스트 편집기를 종료합니다.
  5. 선택 사항: manifests / cluster-ingress-default-ingresscontroller.yaml 파일을 백업합니다. 설치 프로그램은 클러스터를 생성할 때 manifests/ 디렉터리를 삭제합니다.

2.6.2.6. LoadBalancerService Ingress Controller를 생성하는 동안 서브넷 선택

기존 클러스터의 Ingress Controller에 대한 로드 밸런서 서브넷을 수동으로 지정할 수 있습니다. 기본적으로 로드 밸런서 서브넷은 AWS에서 자동으로 검색되지만 Ingress Controller에서 이를 지정하면 이를 재정의하여 수동 제어가 가능합니다.

사전 요구 사항

  • AWS 클러스터가 설치되어 있어야 합니다.
  • IngressController 를 매핑하려는 서브넷의 이름이나 ID를 알아야 합니다.

프로세스

  1. 사용자 정의 리소스(CR) 파일을 만듭니다.

    다음 내용을 포함하는 YAML 파일(예: sample-ingress.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
    Copy to Clipboard Toggle word wrap
  2. 사용자 정의 리소스(CR) 파일을 만듭니다.

    YAML 파일에 서브넷을 추가합니다.

    apiVersion: operator.openshift.io/v1
    kind: IngressController
    metadata:
      name:  <name> 
    1
    
      namespace: openshift-ingress-operator
    spec:
      domain: <domain> 
    2
    
      endpointPublishingStrategy:
        type: LoadBalancerService
        loadBalancer:
          scope: External
          providerParameters:
            type: AWS
            aws:
              type: Classic
              classicLoadBalancer: 
    3
    
                subnets:
                  ids: 
    4
    
                  - <subnet> 
    5
    
                  - <subnet>
                  - <subnet>
    dnsManagementPolicy: Managed
    Copy to Clipboard Toggle word wrap
    1
    <name>을 IngressController 의 이름으로 바꾸세요.
    2
    <도메인>을 IngressController 에서 서비스하는 DNS 이름으로 바꾸세요.
    3
    NLB를 사용하는 경우 networkLoadBalancer 필드를 사용할 수도 있습니다.
    4
    ID로 서브넷을 지정하는 대신 이름 필드를 사용하여 이름으로 서브넷을 지정할 수도 있습니다.
    5
    서브넷 ID(또는 이름을 사용하는 경우 이름 )를 지정합니다.
    중요

    가용성 영역당 최대 1개의 서브넷을 지정할 수 있습니다. 외부 Ingress 컨트롤러에는 공용 서브넷만 제공하고, 내부 Ingress 컨트롤러에는 개인 서브넷만 제공합니다.

  3. CR 파일을 적용합니다.

    1. 파일을 저장하고 OpenShift CLI( oc )를 사용하여 적용합니다.

      $  oc apply -f sample-ingress.yaml
      Copy to Clipboard Toggle word wrap
    2. IngressController 조건을 확인하여 로드 밸런서가 성공적으로 프로비저닝되었는지 확인하세요.

      $ oc get ingresscontroller -n openshift-ingress-operator <name> -o jsonpath="{.status.conditions}" | yq -PC
      Copy to Clipboard Toggle word wrap

2.6.2.7. 기존 Ingress 컨트롤러의 서브넷 업데이트

OpenShift Container Platform에서 수동으로 지정한 로드 밸런서 서브넷으로 IngressController를 업데이트하면 중단을 방지하고, 서비스의 안정성을 유지하고, 네트워크 구성이 특정 요구 사항에 맞게 조정되도록 할 수 있습니다. 다음 절차에서는 새로운 서브넷을 선택 및 적용하고, 구성 변경 사항을 확인하고, 로드 밸런서 프로비저닝이 성공적으로 완료되었는지 확인하는 방법을 보여줍니다.

주의

이 절차를 수행하면 새로운 DNS 레코드 전파, 새로운 로드 밸런서 프로비저닝 및 기타 요소로 인해 몇 분 동안 지속되는 중단이 발생할 수 있습니다. 이 절차를 적용하면 Ingress Controller 로드 밸런서의 IP 주소와 정식 이름이 변경될 수 있습니다.

프로세스

수동으로 지정한 로드 밸런서 서브넷으로 IngressController를 업데이트하려면 다음 단계를 따르세요.

  1. 기존 IngressController를 수정하여 새로운 서브넷으로 업데이트합니다.

    apiVersion: operator.openshift.io/v1
    kind: IngressController
    metadata:
      name:  <name> 
    1
    
      namespace: openshift-ingress-operator
    spec:
      domain: <domain> 
    2
    
      endpointPublishingStrategy:
        type: LoadBalancerService
        loadBalancer:
          scope: External
          providerParameters:
            type: AWS
            aws:
              type: Classic 
    3
    
              classicLoadBalancer: 
    4
    
                subnets:
                  ids: 
    5
    
                  - <updated_subnet> 
    6
    
                  - <updated_subnet>
                  - <updated_subnet>
    Copy to Clipboard Toggle word wrap
    1
    <name>을 IngressController 의 이름으로 바꾸세요.
    2
    <도메인>을 IngressController 에서 서비스하는 DNS 이름으로 바꾸세요.
    3
    업데이트된 서브넷 ID(또는 이름을 사용하는 경우 이름 )를 지정합니다.
    4
    NLB를 사용하는 경우 networkLoadBalancer 필드를 사용할 수도 있습니다.
    5
    ID로 서브넷을 지정하는 대신 이름 필드를 사용하여 이름으로 서브넷을 지정할 수도 있습니다.
    6
    서브넷 ID(또는 이름을 사용하는 경우 이름 )를 업데이트합니다.
    중요

    가용성 영역당 최대 1개의 서브넷을 지정할 수 있습니다. 외부 Ingress 컨트롤러에는 공용 서브넷만 제공하고, 내부 Ingress 컨트롤러에는 개인 서브넷만 제공합니다.

  2. 다음 명령을 실행하여 서브넷 업데이트를 적용하는 방법에 대한 지침을 보려면 IngressController진행 조건을 살펴보세요.

    $ oc get ingresscontroller -n openshift-ingress-operator subnets -o jsonpath="{.status.conditions[?(@.type==\"Progressing\")]}" | yq -PC
    Copy to Clipboard Toggle word wrap

    출력 예

    lastTransitionTime: "2024-11-25T20:19:31Z"
    message: 'One or more status conditions indicate progressing: LoadBalancerProgressing=True (OperandsProgressing: One or more managed resources are progressing: The IngressController subnets were changed from [...] to [...].  To effectuate this change, you must delete the service: `oc -n openshift-ingress delete svc/router-<name>`; the service load-balancer will then be deprovisioned and a new one created. This will most likely cause the new load-balancer to have a different host name and IP address and cause disruption. To return to the previous state, you can revert the change to the IngressController: [...]'
    reason: IngressControllerProgressing
    status: "True"
    type: Progressing
    Copy to Clipboard Toggle word wrap

  3. 업데이트를 적용하려면 다음 명령을 실행하여 Ingress 컨트롤러와 연결된 서비스를 삭제하세요.
$ oc -n openshift-ingress delete svc/router-<name>
Copy to Clipboard Toggle word wrap

검증

  • 로드 밸런서가 성공적으로 프로비저닝되었는지 확인하려면 다음 명령을 실행하여 IngressController 조건을 확인하세요.

    $ oc get ingresscontroller -n openshift-ingress-operator <name> -o jsonpath="{.status.conditions}" | yq -PC
    Copy to Clipboard Toggle word wrap

2.6.2.8. 네트워크 로드 밸런서(NLB)에 대한 AWS Elastic IP(EIP) 주소 구성

Ingress Controller에서 네트워크 로드 밸런서(NLB)에 대해 고정 IP(탄력적 IP라고도 함)를 지정할 수 있습니다. 이 기능은 클러스터 네트워크에 적합한 방화벽 규칙을 구성하려는 상황에서 유용합니다.

사전 요구 사항

  • AWS 클러스터가 설치되어 있어야 합니다.
  • IngressController 를 매핑하려는 서브넷의 이름이나 ID를 알아야 합니다.

절차

  1. 다음 내용을 포함하는 YAML 파일을 만듭니다.

    sample-ingress.yaml

    apiVersion: operator.openshift.io/v1
    kind: IngressController
    metadata:
      namespace: openshift-ingress-operator
      name: <name> 
    1
    
    spec:
      domain: <domain> 
    2
    
      endpointPublishingStrategy:
        loadBalancer:
          scope: External 
    3
    
          type: LoadBalancerService
          providerParameters:
            type: AWS
            aws:
              type: NLB
              networkLoadBalancer:
                subnets: 
    4
    
                  ids:
                  - <subnet_ID>
                  names:
                  - <subnet_A>
                  - <subnet_B>
                eipAllocations: 
    5
    
                - <eipalloc_A>
                - <eipalloc_B>
                - <eipalloc_C>
    Copy to Clipboard Toggle word wrap

    1
    <name> 플레이스홀더를 Ingress Controller의 이름으로 바꾸세요.
    2
    <도메인> 자리 표시자를 Ingress Controller에서 서비스하는 DNS 이름으로 바꾸세요.
    3
    EIP를 할당하려면 범위를 값으로 외부로 설정하고 인터넷에 연결해야 합니다.
    4
    서브넷의 ID와 이름을 지정합니다. ID와 이름의 총 개수는 할당된 EIP와 같아야 합니다.
    5
    EIP 주소를 지정합니다.
    중요

    가용성 영역당 최대 1개의 서브넷을 지정할 수 있습니다. 외부 Ingress 컨트롤러에 대해서만 공개 서브넷을 제공합니다. 서브넷당 하나의 EIP 주소를 연결할 수 있습니다.

  2. 다음 명령을 입력하여 CR 파일을 저장하고 적용합니다.

    $  oc apply -f sample-ingress.yaml
    Copy to Clipboard Toggle word wrap

검증

  1. 다음 명령을 실행하여 IngressController 조건을 확인하여 로드 밸런서가 성공적으로 프로비저닝되었는지 확인하세요.

    $ oc get ingresscontroller -n openshift-ingress-operator <name> -o jsonpath="{.status.conditions}" | yq -PC
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat