VMware는 vSphere IaaS control plane 환경에서 사용할 수 있는 오픈 소스 HAProxy 로드 밸런서의 구현을 제공합니다. 워크로드 관리에 vDS(vSphere Distributed Switch) 네트워킹을 사용하는 경우에는 HAProxy 로드 밸런서를 설치하고 구성할 있습니다.

HAProxy 로드 밸런서와 함께 사용할 감독자용 vSphere Distributed Switch 생성

vSphere 클러스터를 vSphere 네트워킹 스택 및 HAProxy 로드 밸런서를 사용하는 감독자로 구성하려면 vSphere Distributed Switch에 호스트를 추가해야 합니다. 감독자에 대한 워크로드 네트워크로 구성할 Distributed Switch에서 포트 그룹을 생성해야 합니다.

클러스터에서 실행될 Kubernetes 워크로드에 제공하려는 분리 수준에 따라 감독자에 대해 서로 다른 토폴로지를 선택할 수 있습니다.

사전 요구 사항

프로시저

  1. vSphere Client에서 데이터 센터로 이동합니다.
  2. 데이터 센터를 마우스 오른쪽 버튼으로 클릭하고 Distributed Switch > 새 Distributed Switch를 선택합니다.
  3. 스위치의 이름(예: Workload Distributed Switch)을 입력하고 다음을 클릭합니다.
  4. 스위치에 대해 버전 7.0을 선택하고 다음을 클릭합니다.
  5. 포트 그룹 이름에서 Primary Workload Network를 입력하고 다음을 클릭한 후 마침을 클릭합니다.
    하나의 포트 그룹이 포함된 새 Distributed Switch가 데이터 센터에 생성됩니다. 이 포트 그룹을 생성할 감독자에 대한 기본 워크로드 네트워크로 사용할 수 있습니다. 기본 워크로드 네트워크는 Kubernetes 제어부 VM에 대한 트래픽을 처리합니다.
  6. 워크로드 네트워크에 대한 분산 포트 그룹을 생성합니다.
    생성하는 포트 그룹의 수는 감독자에 대해 구현하려는 토폴로지에 따라 다릅니다. 하나의 분리된 워크로드 네트워크가 있는 토폴로지의 경우 감독자의 모든 네임스페이스에 대한 네트워크로 사용할 하나의 분산 포트 그룹을 생성합니다. 네임스페이스별로 분리된 네트워크가 있는 토폴로지의 경우 생성할 네임스페이스 수와 동일한 수의 포트 그룹을 생성합니다.
    1. 새로 생성된 Distributed Switch로 이동합니다.
    2. 스위치를 마우스 오른쪽 버튼으로 클릭하고 분산 포트 그룹 > 새 분산 포트 그룹을 선택합니다.
    3. 포트 그룹의 이름(예: Workload Network)을 입력하고 다음을 클릭합니다.
    4. 기본값을 그대로 두고 다음을 클릭한 다음 마침을 클릭합니다.
  7. Distributed Switch에 감독자로 구성할 vSphere 클러스터의 호스트를 추가합니다.
    1. Distributed Switch를 마우스 오른쪽 버튼으로 클릭하고 호스트 추가 및 관리를 선택합니다.
    2. 호스트 추가를 선택합니다.
    3. 새 호스트를 클릭하고 감독자로 구성할 vSphere 클러스터에서 호스트를 선택한 후 다음을 클릭합니다.
    4. 각 호스트에서 물리적 NIC를 선택하고 Distributed Switch에서 여기에 업링크를 할당합니다.
    5. 마법사의 나머지 화면에서 다음을 클릭하고 마침을 클릭합니다.

결과

호스트가 Distributed Switch에 추가됩니다. 이제 스위치에서 생성한 포트 그룹을 감독자의 워크로드 네트워크로 사용할 수 있습니다.

HAProxy 로드 밸런서 제어부 VM 배포

Kubernetes 워크로드에 vSphere 네트워킹 스택을 사용하려면 HAProxy 제어부 VM을 설치하여 Tanzu Kubernetes 클러스터에 로드 밸런싱 서비스를 제공합니다.

사전 요구 사항

vDS 네트워킹 및 HAProxy를 통해 vSphere IaaS control plane를 사용하는 방법에 대한 데모를 보는 것이 유용할 수 있습니다. vSphere with Tanzu 사용 시작 비디오를 확인하십시오.

프로시저

  1. vSphere Client를 사용하여 vCenter Server에 로그인합니다.
  2. HAProxy OVA 파일에서 새 VM을 생성합니다.
    옵션 설명
    컨텐츠 라이브러리 OVA를 로컬 컨텐츠 라이브러리에 가져온 경우:
    • 메뉴 > 컨텐츠 라이브러리로 이동합니다.
    • OVA를 가져온 라이브러리를 선택합니다.
    • vmware-haproxy-vX.X.X 템플릿을 선택합니다.
    • 마우스 오른쪽 버튼을 클릭하고 이 템플릿에서 새 VM 생성을 선택합니다.
    로컬 파일

    OVA 파일을 로컬 호스트에 다운로드한 경우:

    • 워크로드 관리를 사용하도록 설정할 vCenter 클러스터를 선택합니다.
    • 마우스 오른쪽 버튼을 클릭하고 OVF 템플릿 배포를 선택합니다.
    • 로컬 파일을 선택하고 파일 업로드를 클릭합니다.
    • vmware-haproxy-vX.X.X.ova 파일을 찾아서 선택합니다.
  3. 가상 시스템 이름(예: haproxy )을 입력합니다.
  4. HAProxy를 배포할 데이터 센터를 선택하고 다음을 클릭합니다.
  5. 워크로드 관리를 사용하도록 설정할 vCenter 클러스터를 선택하고 다음을 클릭합니다.
  6. 배포 세부 정보를 검토 및 확인하고 다음을 클릭합니다.
  7. 라이센스 계약에 동의하고 다음을 클릭합니다.
  8. 배포 구성을 선택합니다. 자세한 내용은 "vSphere IaaS 제어부 개념 및 계획" 에서 HAProxy 네트워크 토폴로지를 참조하십시오. 참조하십시오.
    구성 설명
    기본값 NIC가 2개(관리 네트워크 및 단일 워크로드 네트워크)인 장치를 배포하려면 이 옵션을 선택합니다.
    프런트 엔드 네트워크 NIC가 3개인 장치를 배포하려면 이 옵션을 선택합니다. 프런트 엔드 서브넷은 클러스터 노드를 개발자가 클러스터 제어부에 액세스하는 데 사용하는 네트워크에서 분리하는 데 사용됩니다.
  9. VM에 사용할 스토리지 정책을 선택하고 다음을 클릭합니다.
  10. 로드 밸런서에 사용할 네트워크 인터페이스를 선택하고 다음을 클릭합니다.
    소스 네트워크 대상 네트워크
    관리 관리 네트워크(예: VM 네트워크)를 선택합니다.
    워크로드 워크로드 관리를 위해 구성된 vDS 포트 그룹을 선택합니다.
    프런트 엔드 프런트 엔드 서브넷에 대해 구성된 vDS 포트 그룹을 선택합니다. 프런트 엔드 구성을 선택하지 않으면 설치 중에 이 설정이 무시되므로 기본값을 그대로 둘 수 있습니다.
    참고: 워크로드 네트워크는 관리 네트워크와 다른 서브넷에 있어야 합니다. HA 프록시 로드 밸런서를 사용하여 3개 영역 감독자를 사용하도록 설정하기 위한 요구 사항VDS 네트워킹 및 HAProxy 로드 밸런서에서 단일 클러스터 감독자를 사용하도록 설정하기 위한 요구 사항 " vSphere IaaS 제어부 개념 및 계획" 을 참조하십시오.
  11. 애플리케이션 구성 설정을 사용자 지정합니다. 장치 구성 설정의 내용을 참조하십시오.
  12. 네트워크 구성 세부 정보를 제공합니다. 네트워크 구성의 내용을 참조하십시오.
  13. 로드 밸런싱을 구성합니다. 로드 밸런싱 설정의 내용을 참조하십시오.
  14. 다음을 클릭하여 OVA 구성을 완료합니다.
  15. 배포 구성 세부 정보를 검토하고 마침을 클릭하여 OVA를 배포합니다.
  16. 작업 패널을 사용하여 VM 배포를 모니터링합니다.
  17. VM 배포가 완료되면 전원을 켭니다.

다음에 수행할 작업

HAProxy 로드 밸런서가 성공적으로 배포되고 전원이 켜지면 워크로드 관리를 사용하도록 설정합니다. 감독자 구성 및 관리의 내용을 참조하십시오.

HAProxy 로드 밸런서 사용자 지정

구성 설정, 네트워크 설정 및 로드 밸런싱 설정을 포함하여 HAProxy 제어부 VM을 사용자 지정합니다.

장치 구성 설정

이 표에는 HAProxy 장치 구성에 대한 매개 변수가 나열 및 설명되어 있습니다.
매개 변수 설명 주석 또는 예제
루트 암호 루트 사용자의 초기 암호입니다(6~128자). 이후 암호 변경은 운영 체제에서 수행해야 합니다.
루트 로그인 허용

루트 사용자가 SSH를 통해 원격으로 VM에 로그인할 수 있는 옵션입니다.

문제 해결을 위해 루트 로그인이 필요할 수도 있지만, 루트 로그인 허용 시 보안에 미치는 영향을 염두에 두어야 합니다.
TLS CA(인증 기관)(ca.crt)

자체 서명된 CA 인증서를 사용하려면 이 필드를 비워둡니다.

자체 CA 인증서(ca.crt)를 사용하려면 해당 컨텐츠를 이 필드에 붙여넣습니다.

컨텐츠를 Base64로 인코딩해야 할 수도 있습니다. https://www.base64encode.org/

자체 서명된 CA 인증서를 사용하는 경우 인증서에서 공용 및 개인 키가 생성됩니다.

키(ca.key)

자체 서명된 인증서를 사용하는 경우에는 이 필드를 비워둡니다.

CA 인증서를 제공한 경우, 인증서 개인 키의 컨텐츠를 이 필드에 붙여넣습니다.

네트워크 구성

이 표에는 HAProxy 네트워크 구성에 대한 매개 변수가 나열 및 설명되어 있습니다.
매개 변수 설명 주석 또는 예제
호스트 이름 HAProxy 제어부 VM에 할당할 호스트 이름(또는 FQDN) 기본값: haproxy.local
DNS 쉼표로 구분된 DNS 서버 IP 주소 목록입니다.

기본값: 1.1.1.1, 1.0.0.1

예제 값: 10.8.8.8

관리 IP

관리 네트워크에 있는 HAProxy 제어부 VM의 정적 IP 주소입니다.

네트워크의 접두사 길이가 있는 유효한 IPv4 주소(예: 192.168.0.2/24)입니다.

관리 게이트웨이

관리 네트워크에 대한 게이트웨이의 IP 주소입니다.

예:192.168.0.1

워크로드 IP

워크로드 네트워크에 있는 HAProxy 제어부 VM의 정적 IP 주소입니다.

이 IP 주소는 로드 밸런서 IP 주소 범위 밖에 있어야 합니다.

네트워크의 접두사 길이가 있는 유효한 IPv4 주소(예: 192.168.10.2/24)입니다.

워크로드 게이트웨이

워크로드 네트워크에 대한 게이트웨이의 IP 주소입니다.

예:192.168.10.1

프런트 엔드 구성을 선택하는 경우 게이트웨이를 입력해야 합니다. 프런트 엔드를 선택하고 게이트웨이를 지정하지 않으면 배포가 성공하지 못합니다.

프런트 엔드 IP

프런트 엔드 네트워크에 있는 HAProxy 장치의 정적 IP 주소입니다.

이 값은 프런트 엔드 배포 모델을 선택한 경우에만 사용됩니다.

네트워크의 접두사 길이가 있는 유효한 IPv4 주소(예: 192.168.100.2/24)입니다.

프런트 엔드 게이트웨이

프런트 엔드 네트워크에 대한 게이트웨이의 IP 주소입니다.

이 값은 프런트 엔드 배포 모델을 선택한 경우에만 사용됩니다.

예:192.168.100.1

로드 밸런싱 설정

이 표에는 HAProxy 로드 밸런서 구성에 대한 매개 변수가 나열 및 설명되어 있습니다.
매개 변수 설명 예제 또는 주석
로드 밸런서 IP 범위

이 필드에는 CIDR 형식을 사용하여 IPv4 주소의 범위를 지정합니다. 값은 유효한 CIDR 범위여야 합니다. 그렇지 않으면 설치에 실패합니다.

HAProxy는 VIP(가상 IP)에 대한 IP 주소를 예약합니다. 할당되면 각 VIP 주소가 할당되고 HAProxy는 해당 주소에 대한 요청에 응답합니다.

여기서 지정하는 CIDR 범위는 vSphere Client를 사용하여 vCenter Server에서 워크로드 관리를 사용하도록 설정할 때 가상 서버에 할당하는 IP와 겹치지 않아야 합니다.
참고: 로드 밸런서 IP 범위는 관리 네트워크와 다른 서브넷에 있어야 합니다. 로드 밸런서 IP 범위를 관리 네트워크와 동일한 서브넷에 두는 것은 지원되지 않습니다.

예를 들어 네트워크 CIDR 192.168.100.0/24는 로드 밸런서에 범위가 192.168.100.0 - 192.168.100.255인 256개의 가상 IP 주소를 제공합니다.

예를 들어 네트워크 CIDR 192.168.100.0/25는 로드 밸런서에 범위가 192.168.100.0 - 192.168.100.127인 128개의 가상 IP 주소를 제공합니다.

Dataplane API 관리 포트

로드 밸런서의 API 서비스가 수신 대기하는 HAProxy VM의 포트입니다.

유효한 포트. 포트 22는 SSH용으로 예약되어 있습니다. 기본값은 5556입니다.

HAProxy 사용자 ID

로드 밸런서 API 사용자 이름

클라이언트가 로드 밸런서의 API 서비스에 인증하는 데 사용하는 사용자 이름입니다.

참고: 이 사용자 이름은 감독자를 사용하도록 설정할 때 필요합니다.
HAProxy 암호

로드 밸런서 API 암호

클라이언트가 로드 밸런서의 API 서비스에 인증하는 데 사용하는 암호입니다.

참고: 이 암호는 감독자를 사용하도록 설정할 때 필요합니다.