2.11. 특정 서브넷에 로드 밸런서 할당
로드 밸런서를 할당하면 애플리케이션 트래픽을 효율적으로 관리할 수 있습니다. 네트워크 관리자는 로드 밸런서를 할당하여 배포를 사용자 정의할 수 있으며, 이를 통해 최적의 트래픽 분산, 애플리케이션의 고가용성, 중단 없는 서비스 및 네트워크 분할을 보장할 수 있습니다.
2.11.1. AWS의 특정 서브넷에 API 및 Ingress 로드 밸런서 할당 링크 복사링크가 클립보드에 복사되었습니다!
install-config.yaml
파일의 platform.aws.vpc.subnets
섹션에서 가상 사설 클라우드(VPC)의 서브넷을 명시적으로 정의하고 특정 역할을 직접 할당하여 Ingress Controller를 포함한 AWS의 OpenShift 로드 밸런서의 네트워크 배치를 제어할 수 있습니다. 이 방법은 Ingress Controller 및 기타 클러스터 구성 요소와 같은 리소스에 사용되는 서브넷을 세부적으로 제어할 수 있도록 해줍니다.
2.11.1.1. 설치 시 OpenShift API 및 Ingress 로드 밸런서에 대한 AWS 서브넷 지정 링크 복사링크가 클립보드에 복사되었습니다!
특정 서브넷에 API 및 수신 로드 밸런서를 할당하려면 다음 단계를 수행합니다.
사전 요구 사항
시작하기 전에 다음 사항을 확인하세요.
- 기존 AWS 가상 사설 클라우드(VPC).
다음 고려 사항을 고려하여 OpenShift 클러스터에서 사용하도록 미리 구성된 AWS 서브넷:
-
서브넷 ID 목록이 있습니다(예:
subnet-0123456789abcdef0
). 이러한 ID는install-config.yaml
파일에서 사용됩니다. - 부하 분산 장치 및 제어 평면과 같은 기타 중요 구성 요소의 고가용성을 위해 최소 두 개의 가용성 영역(AZ)에 걸쳐 있는 서브넷을 사용합니다.
- 이러한 서브넷 내에는 할당된 모든 역할에 사용할 수 있는 충분한 IP 주소가 있습니다.
- 네트워크 ACL 및 보안 그룹을 포함한 이러한 서브넷에 대한 AWS 구성은 해당 서브넷에 할당된 모든 역할에 필요한 트래픽을 허용해야 합니다. 인그레스 컨트롤러를 호스팅하는 서브넷의 경우 일반적으로 필요한 소스의 TCP 포트 80과 443이 포함됩니다.
-
서브넷 ID 목록이 있습니다(예:
- 대상 OpenShift 버전에 대한 OpenShift 설치 프로그램 바이너리가 있습니다.
-
install-config.yaml
파일이 있습니다.
프로세스
install-config.yaml
파일을 준비합니다.아직 생성하지 않았다면 OpenShift 설치 프로그램을 사용하여 설치 구성 파일을 생성하세요.
openshift-install create install-config --dir=<your_installation_directory>
$ openshift-install create install-config --dir=<your_installation_directory>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 지정된 디렉토리에
install-config.yaml
파일을 생성합니다.서브넷을 정의하고 역할을 할당합니다.
텍스트 편집기를 사용하여
<설치 디렉토리>
에 있는install-config.yaml
파일을 엽니다.platform.aws.vpc.subnets
필드에서 VPC 서브넷과 지정된 역할을 정의합니다.클러스터에서 사용할 각 AWS 서브넷에 대해
ID
와역할
목록을 지정하는 항목을 만듭니다. 각 역할은유형
키가 있는 객체입니다. 기본 Ingress Controller에 대한 서브넷을 지정하려면IngressControllerLB 유형
의 역할을 할당합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 기본 도메인.
- 2
- 귀하의 AWS 지역.
- 3
platform.aws
아래의 vpc 객체에는 서브넷 목록이 포함되어 있습니다.- 4
- OpenShift가 사용할 모든 서브넷 개체 목록입니다. 각 객체는 서브넷 ID와 역할을 정의합니다.
- 5
- AWS 서브넷 ID로 바꾸세요.
- 6
유형: IngressControllerLB
역할은 이 서브넷을 기본 Ingress Controller의 LoadBalancer에 대해 특별히 지정합니다. 개인/내부 클러스터에서IngressControllerLB
역할이 있는 서브넷은 개인이어야 합니다.- 7
유형: ClusterNode
역할은 이 서브넷을 제어 평면 및 컴퓨팅 노드에 지정합니다. 일반적으로 이는 개인 서브넷입니다.- 8
- 풀 시크릿.
- 9
- SSH 키.
서브넷
목록의 제어 평면 부하 분산 장치 항목은 다음과 같은 패턴을 따릅니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기본 공개 Ingress Controller의 경우
install-config.yaml
파일에서IngressControllerLB
역할이 할당된 모든 서브넷은 공개 서브넷이어야 합니다. 예를 들어, AWS에는 아웃바운드 트래픽을 인터넷 게이트웨이(IGW)로 전달하는 경로 테이블 항목이 있어야 합니다.AZ 전체에서 필요한 모든 서브넷(공개 및 비공개)을 나열하고 클러스터 아키텍처에 따라 적절한 역할을 할당하세요.
서브넷 ID는 기존 VPC의 서브넷을 정의하며, 선택적으로 해당 서브넷의 역할을 지정할 수 있습니다. 어떤 서브넷에도 역할이 지정되지 않으면 서브넷 역할이 자동으로 결정됩니다. 이 경우 VPC에는
kubernetes.io/cluster/<cluster-id>
태그가 없는 다른 비클러스터 서브넷이 포함되어서는 안 됩니다.서브넷에 역할이 지정된 경우 각 서브넷에는 최소한 하나의 역할이 할당되어야 하며
ClusterNode
,BootstrapNode
,IngressControllerLB
,ControlPlaneExternalLB
및ControlPlaneInternalLB
역할은 최소한 하나의 서브넷에 할당되어야 합니다. 하지만 클러스터 범위가 내부인 경우ControlPlaneExternalLB는
필요하지 않습니다.클러스터 설치를 진행하세요:
install-config.yaml
파일에 변경 사항을 저장한 후 클러스터를 만듭니다.openshift-install create cluster --dir=<your_installation_directory>
$ openshift-install create cluster --dir=<your_installation_directory>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 설치 프로그램은 이제
install-config.yaml
파일의platform.aws.vpc.subnets
섹션에서 서브넷 정의와 명시적 역할 할당을 사용하여 클러스터 리소스를 프로비저닝합니다. 여기에는IngressControllerLB
역할로 지정한 서브넷에 Ingress Controller의 LoadBalancer를 배치하는 것도 포함됩니다.
IngressControllerLB
, ClusterNode
, ControlPlaneExternalLB
, ControlPlaneInternalLB
, BootstrapNode
와 같은 유형을 지정하는 platform.aws.vpc.subnets
내의 역할 할당 메커니즘은 OpenShift 설치 프로그램이 다양한 클러스터 서비스와 구성 요소에 적합한 서브넷을 식별하는 포괄적인 방법입니다.