2.11. 특정 서브넷에 로드 밸런서 할당
로드 밸런서를 할당하여 애플리케이션 트래픽을 효율적으로 관리할 수 있습니다. 네트워크 관리자는 로드 밸런서를 할당하여 최적의 트래픽 배포, 애플리케이션 고가용성, 중단되지 않는 서비스 및 네트워크 분할을 보장할 수 있는 배포를 사용자 지정할 수 있습니다.
2.11.1. AWS의 특정 서브넷에 API 및 Ingress 로드 밸런서 할당 링크 복사링크가 클립보드에 복사되었습니다!
가상 프라이빗 클라우드의 서브넷(VPC) 서브넷을 명시적으로 정의하고 install-config.yaml
파일의 platform.aws.vpc.subnets
섹션 내에서 직접 특정 역할을 할당하여 Ingress 컨트롤러의 OpenShift Load Balancer의 네트워크 배치를 제어할 수 있습니다. 이 방법을 사용하면 Ingress 컨트롤러 및 기타 클러스터 구성 요소와 같은 리소스에 사용되는 서브넷을 세부적으로 제어할 수 있습니다.
2.11.1.1. 설치 시 OpenShift API 및 인그레스 로드 밸런서를 위한 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
파일을 생성합니다.서브넷을 정의하고 역할을 할당합니다.
텍스트 편집기를 사용하여 <
your_installation_directory
>에 있는install-config.yaml
파일을 엽니다.platform.aws.vpc.subnets
필드에서 VPC 서브넷 및 지정된 역할을 정의합니다.클러스터에서 사용할 각 AWS 서브넷마다 ID와
역할
목록을 지정하는 항목을 생성합니다.각 역할은
유형
키가 있는 오브젝트입니다. 기본 Ingress 컨트롤러의 서브넷을 지정하려면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 컨트롤러의 LoadBalancer에 대해 이 서브넷을 지정합니다. 프라이빗/내부 클러스터에서IngressControllerLB
역할의 서브넷은 private이어야 합니다.- 7
type: ClusterNode
역할은 컨트롤 플레인 및 컴퓨팅 노드에 이 서브넷을 지정합니다. 일반적으로 프라이빗 서브넷입니다.- 8
- 풀 시크릿입니다.
- 9
- SSH 키입니다.
서브넷
목록의 컨트롤 플레인 로드 밸런서 항목은 유사한 패턴을 따릅니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기본 공용 Ingress 컨트롤러의 경우
install-config.yaml
파일에서IngressControllerLB
역할이 할당된 모든 서브넷은 공용 서브넷이어야 합니다. 예를 들어 아웃바운드 트래픽을 인터넷 게이트웨이(IGW)로 보내는 AWS의 경로 테이블 항목이 있어야 합니다.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 이제 설치 프로그램에서
IngressControllerLB
역할로 지정된 서브넷에 Ingress Controller의 LoadBalancer를 배치하는 등install-config.yaml
파일의platform.aws.vpc.subnets
섹션의 서브넷 정의 및 명시적 역할 할당을 사용합니다.
IngressControllerLB
,ClusterNode
,ControlPlaneExternalLB
,ControlPlaneInternalLB
,BootstrapNode
와 같은 유형을 지정하는 것과 같이 platform.aws.vpc.subnets
내의 역할 할당 메커니즘은 OpenShift 설치 프로그램이 다양한 클러스터 서비스 및 구성 요소에 적합한 서브넷을 식별하는 포괄적인 방법입니다.