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


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

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

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

다음 단계를 수행하여 특정 서브넷에 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. 서브넷을 정의하고 역할을 할당합니다.

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

    클러스터에서 사용할 각 AWS 서브넷마다 ID와 역할 목록을 지정하는 항목을 생성합니다. 각 역할은 유형 키가 있는 오브젝트입니다. 기본 Ingress 컨트롤러의 서브넷을 지정하려면 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 컨트롤러의 LoadBalancer에 대해 이 서브넷을 지정합니다. 프라이빗/내부 클러스터에서 IngressControllerLB 역할의 서브넷은 private이어야 합니다.
    7
    type: 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 컨트롤러의 경우 install-config.yaml 파일에서 IngressControllerLB 역할이 할당된 모든 서브넷은 공용 서브넷이어야 합니다. 예를 들어 아웃바운드 트래픽을 인터넷 게이트웨이(IGW)로 보내는 AWS의 경로 테이블 항목이 있어야 합니다.

    AZ에서 필요한 모든 서브넷, 공용 및 프라이빗을 나열하고 클러스터 아키텍처에 따라 적절한 역할을 할당해야 합니다.

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

    역할이 서브넷에 지정된 경우 각 서브넷에 하나 이상의 할당된 역할이 있어야 하며 ClusterNode,BootstrapNode,IngressControllerLB,ControlPlaneExternalLB, ControlPlaneInternalLB 역할을 하나 이상 서브넷에 할당해야 합니다. 그러나 클러스터 범위가 내부인 경우 ControlPlaneExternalLB 가 필요하지 않습니다.

  3. 클러스터 설치를 진행합니다.

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

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

    이제 설치 프로그램에서 IngressControllerLB 역할로 지정된 서브넷에 Ingress Controller의 LoadBalancer를 배치하는 등 install-config.yaml 파일의 platform.aws.vpc.subnets 섹션의 서브넷 정의 및 명시적 역할 할당을 사용합니다.

참고

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