2.11. 특정 서브넷에 로드 밸런서 할당


로드 밸런서를 할당하면 애플리케이션 트래픽을 효율적으로 관리할 수 있습니다. 네트워크 관리자는 로드 밸런서를 할당하여 배포를 사용자 정의할 수 있으며, 이를 통해 최적의 트래픽 분산, 애플리케이션의 고가용성, 중단 없는 서비스 및 네트워크 분할을 보장할 수 있습니다.

2.11.1. AWS의 특정 서브넷에 API 및 Ingress 로드 밸런서 할당

install-config.yaml 파일의 platform.aws.vpc.subnets 섹션에서 가상 사설 클라우드(VPC)의 서브넷을 명시적으로 정의하고 특정 역할을 직접 할당하여 Ingress Controller를 포함한 AWS의 OpenShift 로드 밸런서의 네트워크 배치를 제어할 수 있습니다. 이 방법은 Ingress Controller 및 기타 클러스터 구성 요소와 같은 리소스에 사용되는 서브넷을 세부적으로 제어할 수 있도록 해줍니다.

특정 서브넷에 API 및 수신 로드 밸런서를 할당하려면 다음 단계를 수행합니다.

사전 요구 사항

시작하기 전에 다음 사항을 확인하세요.

  • 기존 AWS 가상 사설 클라우드(VPC).
  • 다음 고려 사항을 고려하여 OpenShift 클러스터에서 사용하도록 미리 구성된 AWS 서브넷:

    • 서브넷 ID 목록이 있습니다(예: subnet-0123456789abcdef0 ). 이러한 ID는 install-config.yaml 파일에서 사용됩니다.
    • 부하 분산 장치 및 제어 평면과 같은 기타 중요 구성 요소의 고가용성을 위해 최소 두 개의 가용성 영역(AZ)에 걸쳐 있는 서브넷을 사용합니다.
    • 이러한 서브넷 내에는 할당된 모든 역할에 사용할 수 있는 충분한 IP 주소가 있습니다.
    • 네트워크 ACL 및 보안 그룹을 포함한 이러한 서브넷에 대한 AWS 구성은 해당 서브넷에 할당된 모든 역할에 필요한 트래픽을 허용해야 합니다. 인그레스 컨트롤러를 호스팅하는 서브넷의 경우 일반적으로 필요한 소스의 TCP 포트 80과 443이 포함됩니다.
  • 대상 OpenShift 버전에 대한 OpenShift 설치 프로그램 바이너리가 있습니다.
  • install-config.yaml 파일이 있습니다.

프로세스

  1. install-config.yaml 파일을 준비합니다.

    아직 생성하지 않았다면 OpenShift 설치 프로그램을 사용하여 설치 구성 파일을 생성하세요.

    $ openshift-install create install-config --dir=<your_installation_directory>
    Copy to Clipboard Toggle word wrap

    이 명령은 지정된 디렉토리에 install-config.yaml 파일을 생성합니다.

  2. 서브넷을 정의하고 역할을 할당합니다.

    텍스트 편집기를 사용하여 <설치 디렉토리> 에 있는 install-config.yaml 파일을 엽니다. platform.aws.vpc.subnets 필드에서 VPC 서브넷과 지정된 역할을 정의합니다.

    클러스터에서 사용할 각 AWS 서브넷에 대해 ID역할 목록을 지정하는 항목을 만듭니다. 각 역할은 유형 키가 있는 객체입니다. 기본 Ingress Controller에 대한 서브넷을 지정하려면 IngressControllerLB 유형 의 역할을 할당합니다.

    apiVersion: v1
    baseDomain: example.com 
    1
    
    metadata:
      name: my-cluster # Example cluster name
    platform:
      aws:
        region: us-east-1 
    2
    
        vpc: 
    3
    
          subnets: 
    4
    
          - id: subnet-0fcf8e0392f0910d5 # Public Subnet in AZ us-east-1a 
    5
    
            roles:
            - type: IngressControllerLB 
    6
    
            - type: BootstrapNode
          - id: subnet-0xxxxxxxxxxxxxxza # Public Subnet in another AZ for HA
            roles:
            - type: IngressControllerLB
          - id: subnet-0fcf8e0392f0910d4 # Private Subnet in AZ us-east-1a
            roles:
            - type: ClusterNode 
    7
    
          - id: subnet-0yyyyyyyyyyyyyyzb # Private Subnet in another AZ for HA
            roles:
            - type: ClusterNode
          # Add other subnet IDs and their roles as needed for your cluster architecture
    pullSecret: '...' 
    8
    
    sshKey: '...' 
    9
    Copy to Clipboard Toggle word wrap
    1
    기본 도메인.
    2
    귀하의 AWS 지역.
    3
    platform.aws 아래의 vpc 객체에는 서브넷 목록이 포함되어 있습니다.
    4
    OpenShift가 사용할 모든 서브넷 개체 목록입니다. 각 객체는 서브넷 ID와 역할을 정의합니다.
    5
    AWS 서브넷 ID로 바꾸세요.
    6
    유형: IngressControllerLB 역할은 이 서브넷을 기본 Ingress Controller의 LoadBalancer에 대해 특별히 지정합니다. 개인/내부 클러스터에서 IngressControllerLB 역할이 있는 서브넷은 개인이어야 합니다.
    7
    유형: ClusterNode 역할은 이 서브넷을 제어 평면 및 컴퓨팅 노드에 지정합니다. 일반적으로 이는 개인 서브넷입니다.
    8
    풀 시크릿.
    9
    SSH 키.

    서브넷 목록의 제어 평면 부하 분산 장치 항목은 다음과 같은 패턴을 따릅니다.

    # ... (within platform.aws.vpc.subnets list)
          - id: subnet-0fcf8e0392f0910d6 # Public Subnet for External API LB
            roles:
            - type: ControlPlaneExternalLB
          - id: subnet-0fcf8e0392f0910d7 # Private Subnet for Internal API LB
            roles:
            - type: ControlPlaneInternalLB
    # ...
    Copy to Clipboard Toggle word wrap

    기본 공개 Ingress Controller의 경우 install-config.yaml 파일에서 IngressControllerLB 역할이 할당된 모든 서브넷은 공개 서브넷이어야 합니다. 예를 들어, AWS에는 아웃바운드 트래픽을 인터넷 게이트웨이(IGW)로 전달하는 경로 테이블 항목이 있어야 합니다.

    AZ 전체에서 필요한 모든 서브넷(공개 및 비공개)을 나열하고 클러스터 아키텍처에 따라 적절한 역할을 할당하세요.

    서브넷 ID는 기존 VPC의 서브넷을 정의하며, 선택적으로 해당 서브넷의 역할을 지정할 수 있습니다. 어떤 서브넷에도 역할이 지정되지 않으면 서브넷 역할이 자동으로 결정됩니다. 이 경우 VPC에는 kubernetes.io/cluster/<cluster-id> 태그가 없는 다른 비클러스터 서브넷이 포함되어서는 안 됩니다.

    서브넷에 역할이 지정된 경우 각 서브넷에는 최소한 하나의 역할이 할당되어야 하며 ClusterNode , BootstrapNode , IngressControllerLB , ControlPlaneExternalLBControlPlaneInternalLB 역할은 최소한 하나의 서브넷에 할당되어야 합니다. 하지만 클러스터 범위가 내부인 경우 ControlPlaneExternalLB는 필요하지 않습니다.

  3. 클러스터 설치를 진행하세요:

    install-config.yaml 파일에 변경 사항을 저장한 후 클러스터를 만듭니다.

    $ openshift-install create cluster --dir=<your_installation_directory>
    Copy to Clipboard Toggle word wrap

    설치 프로그램은 이제 install-config.yaml 파일의 platform.aws.vpc.subnets 섹션에서 서브넷 정의와 명시적 역할 할당을 사용하여 클러스터 리소스를 프로비저닝합니다. 여기에는 IngressControllerLB 역할로 지정한 서브넷에 Ingress Controller의 LoadBalancer를 배치하는 것도 포함됩니다.

참고

IngressControllerLB , ClusterNode , ControlPlaneExternalLB , ControlPlaneInternalLB , BootstrapNode 와 같은 유형을 지정하는 platform.aws.vpc.subnets 내의 역할 할당 메커니즘은 OpenShift 설치 프로그램이 다양한 클러스터 서비스와 구성 요소에 적합한 서브넷을 식별하는 포괄적인 방법입니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat