VDS 네트워킹 스택 및 HA Proxy 로드 밸런서 또는 NSX Advanced Load Balancer를 사용하여 1개 영역 감독자를 배포하는 방법을 알아봅니다. VDS 네트워킹으로 구성된 1개 영역 감독자Tanzu Kubernetes Grid를 사용하여 생성된 Tanzu Kubernetes 클러스터의 배포를 지원합니다. 감독자 서비스에서 배포한 것과 별도로 vSphere 포드를 실행하는 것은 지원하지 않습니다.

참고: 단일 vSphere 클러스터에 감독자를 배포하여 1개 vSphere 영역이 생성되면 감독자를 3개 영역 배포로 확장할 수 없습니다. 1개 vSphere 영역(단일 클러스터 배포) 또는 3개 vSphere 영역에 감독자를 배포할 수 있습니다.

사전 요구 사항

프로시저

  1. 홈 메뉴에서 워크로드 관리를 선택합니다.
  2. 감독자에 대한 라이센싱 옵션을 선택합니다.
    • 유효한 Tanzu Edition 라이센스가 있는 경우 라이센스 추가를 클릭하여 vSphere 라이센스 인벤토리에 라이센스 키를 추가합니다.

    • Tanzu Edition 라이센스가 아직 없는 경우에는 VMware에서 통신을 받을 수 있도록 연락처 세부 정보를 입력하고 시작을 클릭합니다.

    감독자의 평가 기간은 60일 동안 지속됩니다. 이 기간 내에는 클러스터에 유효한 Tanzu Edition라이센스를 할당해야 합니다. Tanzu Edition 라이센스 키를 추가한 경우 감독자 설정을 완료하면 60일 평가 기간 내에 해당 키를 할당할 수 있습니다.

  3. 워크로드 관리 화면에서 시작을 다시 클릭합니다.
  4. vCenter Server 및 네트워크 페이지를 선택하고 감독자 배포를 위해 설정된 vCenter Server 시스템을 선택하고 네트워킹 스택으로 VDS(vSphere Distributed Switch)를 선택하고 다음을 클릭합니다.
  5. 1개 영역 감독자를 사용하도록 설정하려면 감독자 위치 페이지에서 클러스터 배포를 선택합니다.
    1개 영역 감독자에서 워크로드 관리를 사용하도록 설정하면 vSphere 영역이 자동으로 생성되고 클러스터가 영역에 할당됩니다.
  6. 호환되는 클러스터 목록에서 클러스터를 선택합니다.
  7. 감독자의 이름을 입력합니다.
  8. (선택 사항) vSphere 영역의 이름을 입력하고 다음을 클릭합니다.
    vSphere 영역의 이름을 입력하지 않으면 이름이 자동으로 할당되며 나중에 이름을 변경할 수 없습니다.
  9. 스토리지 페이지에서 제어부 VM 배치를 위한 스토리지를 구성합니다.
    옵션 설명

    제어부 노드

    제어부 VM 배치에 대한 스토리지 정책을 선택합니다.

  10. 로드 밸런서 화면에서 로드 밸런서에 대한 설정을 구성합니다.
    1. 로드 밸런서의 이름을 입력합니다.
    2. 로드 밸런서 유형을 선택합니다.
      NSX Advanced Load BalancerHAProxy 중에서 선택할 수 있습니다.
    3. 로드 밸런서에 대한 설정 구성
      • NSX Advanced Load Balancer에 대해 다음 설정을 입력합니다.

        옵션

        설명

        이름

        NSX Advanced Load Balancer의 이름을 입력합니다.

        NSX Advanced Load Balancer 컨트롤러 끝점

        NSX Advanced Load Balancer 컨트롤러의 IP 주소입니다.

        기본 포트는 443입니다.

        사용자 이름

        NSX Advanced Load Balancer을 사용하여 구성된 사용자 이름입니다. 이 사용자 이름을 사용하여 컨트롤러에 액세스합니다.

        암호

        사용자 이름에 대한 암호입니다.

        서버 인증서

        컨트롤러에 사용되는 인증서입니다.

        구성 중에 할당한 인증서를 제공할 수 있습니다.

        자세한 내용은 컨트롤러에 인증서 할당의 내용을 참조하십시오.

        클라우드 이름 설정한 사용자 지정 클라우드의 이름을 입력합니다. 클라우드 이름은 대/소문자를 구분합니다.

        기본 클라우드를 사용하려면 이 필드를 비워 둡니다.

        자세한 내용은 컨트롤러 구성의 내용을 참조하십시오.

      • HAProxy에 대한 다음 설정을 입력합니다.

        옵션

        설명

        HAProxy 로드 밸런서 컨트롤러 끝점

        HAProxy 장치의 관리 IP 주소인 HAProxy 데이터부 API의 IP 주소 및 포트입니다. 이 구성 요소는 HAProxy 서버를 제어하고 HAProxy VM 내에서 실행됩니다.

        사용자 이름

        HAProxy OVA 파일을 사용하여 구성된 사용자 이름입니다. 이 이름을 사용하여 HAProxy 데이터부 API를 인증합니다.

        암호

        사용자 이름에 대한 암호입니다.

        가상 IP 범위

        Tanzu Kubernetes 클러스터가 워크로드 네트워크에서 사용하는 IP 주소 범위입니다. 이 IP 범위는 HAProxy 장치 배포 중에 구성한 CIDR에 정의된 IP 목록에서 가져옵니다. HAProxy 배포에 구성된 전체 범위를 설정할 수 있지만 여러 감독자를 생성하고 해당 CIDR 범위의 IP를 사용하려는 경우 해당 CIDR의 하위 집합을 설정할 수도 있습니다. 이 범위는 마법사에서 워크로드 네트워크에 대해 정의된 IP 범위와 겹치지 않아야 합니다. 또한 범위는 이 워크로드 네트워크의 DHCP 범위와 겹치지 않아야 합니다.

        HAProxy 관리 TLS 인증서

        데이터부 API가 제공하는 서버 인증서의 신뢰할 수 있는 루트이거나 서명된 PEM 형식의 인증서입니다.

        • 옵션 1: 루트 액세스를 사용하도록 설정된 경우 SSH를 사용하여 HAProxy VM에 루트로 연결하고 /etc/haproxy/ca.crt서버 CA(인증 기관)에 복사합니다. \n 형식으로 이스케이프 줄을 사용하지 마십시오.

        • 옵션 2: HAProxy VM을 마우스 오른쪽 버튼으로 클릭하고 설정 편집을 선택합니다. 해당 필드에서 CA 인증서를 복사한 후 https://www.base64decode.org/와 같은 변환 도구를 사용하여 Base64에서 변환합니다.

        • 옵션 3: 다음 PowerCLI 스크립트를 실행합니다. $vc, $vc_user, $vc_password 변수를 적절한 값으로 바꿉니다.

          $vc = "10.21.32.43"
          $vc_user = "[email protected]"
          $vc_password = "PASSWORD"
          Connect-VIServer -User $vc_user -Password $vc_password -Server $vc
          $VMname = "haproxy-demo"
          $AdvancedSettingName = "guestinfo.dataplaneapi.cacert"
          $Base64cert = get-vm $VMname |Get-AdvancedSetting -Name $AdvancedSettingName
          while ([string]::IsNullOrEmpty($Base64cert.Value)) {
               Write-Host "Waiting for CA Cert Generation... This may take a under 5-10
          minutes as the VM needs to boot and generate the CA Cert
          (if you haven't provided one already)."
               $Base64cert = get-vm $VMname |Get-AdvancedSetting -Name $AdvancedSettingName
               Start-sleep -seconds 2
               }
               Write-Host "CA Cert Found... Converting from BASE64" 
               $cert = [Text.Encoding]::Utf8.GetString([Convert]::FromBase64String($Base64cert.Value))
          Write-Host $cert
  11. 관리 네트워크 화면에서 Kubernetes 제어부 VM에 사용될 네트워크에 대한 매개 변수를 구성합니다.
    1. 네트워크 모드를 선택합니다.
      • DHCP 네트워크. 이 모드에서는 관리 네트워크의 모든 IP 주소(예: 제어부 VM IP, 부동 IP, DNS 서버, DNS, 검색 도메인 및 NTP 서버)가 DHCP 서버에서 자동으로 획득됩니다. 부동 IP를 얻으려면 DHCP 서버는 클라이언트 식별자를 지원하도록 구성되어야 합니다. DHCP 모드에서 모든 제어부 VM은 안정적인 DHCP 클라이언트 식별자를 사용하여 IP 주소를 획득합니다. 이러한 클라이언트 식별자는 DHCP 서버에서 제어부 VM의 IP에 대한 정적 IP 할당을 설정하여 변경되지 않도록 하는 데 사용할 수 있습니다. 제어부 VM의 IP 및 부동 IP를 변경하는 것은 지원되지 않습니다.
        이러한 설정의 텍스트 필드에 값을 입력하여 DHCP에서 상속된 일부 설정을 재정의할 수 있습니다.
        옵션 설명
        네트워크 감독자에 대한 관리 트래픽을 처리할 네트워크를 선택합니다.
        부동 IP

        다음과 같이 Kubernetes 제어부 VM에 대해 5개의 연속 IP 주소를 예약하기 위한 시작 지점을 결정하는 IP 주소를 입력합니다.

        • Kubernetes 제어부 VM 각각에 대한 IP 주소입니다.

        • 관리 네트워크에 대한 인터페이스로 제공할 Kubernetes 제어부 VM 중 하나에 대한 부동 IP 주소입니다. 부동 IP 주소가 할당된 제어부 VM은 세 개의 Kubernetes 제어부 VM 모두에 대해 선행 VM으로 작동합니다. 부동 IP는 Kubernetes 클러스터의 etcd 리더인 제어부 노드로 이동합니다. 그러면 네트워크 파티션 이벤트의 경우 가용성이 향상됩니다.

        • Kubernetes 제어부 VM이 실패하여 새로운 제어부 VM으로 교체하는 경우 버퍼 역할을 하는 IP 주소입니다.

        DNS 서버 환경에서 사용하는 DNS 서버의 주소를 입력합니다. vCenter Server 시스템이 FQDN으로 등록되어 있으면 vSphere 환경에 사용하는 DNS 서버의 IP 주소를 입력해야 합니다. 그래야 감독자에서 FQDN을 확인할 수 있습니다.
        DNS 검색 도메인 Kubernetes 제어부 노드 내에서 DNS가 검색하는 도메인 이름(예: corp.local)을 입력합니다. 그래야 DNS 서버가 확인할 수 있습니다.
        NTP 서버 환경에서 사용하는 NTP 서버의 주소를 입력합니다(있는 경우).
      • 정적. 관리 네트워크에 대한 모든 네트워킹 설정을 수동으로 입력합니다.
        옵션 설명
        네트워크 감독자에 대한 관리 트래픽을 처리할 네트워크를 선택합니다.
        시작 IP 주소

        다음과 같이 Kubernetes 제어부 VM에 대해 5개의 연속 IP 주소를 예약하기 위한 시작 지점을 결정하는 IP 주소를 입력합니다.

        • Kubernetes 제어부 VM 각각에 대한 IP 주소입니다.

        • 관리 네트워크에 대한 인터페이스로 제공할 Kubernetes 제어부 VM 중 하나에 대한 부동 IP 주소입니다. 부동 IP 주소가 할당된 제어부 VM은 세 개의 Kubernetes 제어부 VM 모두에 대해 선행 VM으로 작동합니다. 부동 IP는 Kubernetes 클러스터의 etcd 리더인 제어부 노드로 이동합니다. 그러면 네트워크 파티션 이벤트의 경우 가용성이 향상됩니다.

        • Kubernetes 제어부 VM이 실패하여 새로운 제어부 VM으로 교체하는 경우 버퍼 역할을 하는 IP 주소입니다.

        서브넷 마스크 정적 IP 구성에만 적용됩니다. 관리 네트워크에 대한 서브넷 마스크를 입력합니다.

        예를 들어 255.255.255.0입니다.

        게이트웨이 관리 네트워크의 게이트웨이를 입력합니다.
        DNS 서버 환경에서 사용하는 DNS 서버의 주소를 입력합니다. vCenter Server 시스템이 FQDN으로 등록되어 있으면 vSphere 환경에 사용하는 DNS 서버의 IP 주소를 입력해야 합니다. 그래야 감독자에서 FQDN을 확인할 수 있습니다.
        DNS 검색 도메인 Kubernetes 제어부 노드 내에서 DNS가 검색하는 도메인 이름(예: corp.local)을 입력합니다. 그래야 DNS 서버가 확인할 수 있습니다.
        NTP 서버 환경에서 사용하는 NTP 서버의 주소를 입력합니다(있는 경우).
    2. 다음을 클릭합니다.
  12. 워크로드 네트워크 페이지에서 감독자에서 실행되는 Kubernetes 워크로드에 대한 네트워킹 트래픽을 처리하는 네트워크에 대한 설정을 입력합니다.
    참고:

    워크로드 네트워크에 대한 네트워킹 설정을 제공하기 위해 DHCP 서버를 사용하도록 선택하는 경우 감독자 구성을 완료하면 새 워크로드 네트워크를 생성할 수 없습니다.

    1. 네트워크 모드를 선택합니다.
      • DHCP 네트워크. 이 네트워크 모드에서는 워크로드 네트워크에 대한 모든 네트워킹 설정이 DHCP를 통해 획득됩니다. 다음 설정에 대한 텍스트 필드에 값을 입력하여 DHCP에서 상속된 일부 설정을 재정의할 수도 있습니다.
        참고: 워크로드 네트워크에 대한 DHCP 구성은 VDS 스택으로 구성된 감독자감독자 서비스에서 지원되지 않습니다. 감독자 서비스를 사용하려면 정적 IP 주소로 워크로드 네트워크를 구성합니다. 관리 네트워크에 DHCP를 계속 사용할 수 있습니다.
        옵션 설명
        Kubernetes 서비스를 위한 내부 네트워크 클러스터 내에서 실행되는 Tanzu Kubernetes 클러스터 및 서비스에 대한 IP 주소 범위를 결정하는 CIDR 표기법을 입력합니다.
        포트 그룹 감독자에 대한 기본 워크로드 네트워크로 사용할 포트 그룹을 선택합니다.

        기본 네트워크는 Kubernetes 제어부 VM 및 Kubernetes 워크로드 트래픽에 대한 트래픽을 처리합니다.

        네트워킹 토폴로지에 따라, 나중에 각 네임스페이스에 네트워크로 사용할 다른 포트 그룹을 할당할 수 있습니다. 이 방법을 통해 감독자의 네임스페이스 간에 계층 2 분리를 제공할 수 있습니다. 네트워크로 할당된 다른 포트 그룹이 없는 네임스페이스는 기본 네트워크를 사용합니다. Tanzu Kubernetes 클러스터는 배포된 네임스페이스에 할당된 네트워크만 사용하거나 해당 네임스페이스에 명시적으로 할당된 네트워크가 없는 경우 기본 네트워크를 사용합니다.

        네트워크 이름 네트워크 이름을 입력합니다.
        DNS 서버

        환경에서 사용하는 DNS 서버의 IP 주소를 입력합니다(있는 경우).

        예: 10.142.7.1.

        DNS 서버의 IP 주소를 입력하면 각 제어부 VM에 정적 경로가 추가됩니다. 이것은 DNS 서버에 대한 트래픽이 워크로드 네트워크를 통과한다는 것을 나타냅니다.

        지정하는 DNS 서버가 관리 네트워크와 워크로드 네트워크 간에 공유되는 경우에는 제어부 VM의 DNS 조회가 초기 설정 후 워크로드 네트워크를 통해 라우팅됩니다.

        NTP 서버 환경에서 사용하는 NTP 서버의 주소를 입력합니다(있는 경우).
      • 정적. 워크로드 네트워크 설정을 수동으로 구성합니다.
        옵션 설명
        Kubernetes 서비스를 위한 내부 네트워크 클러스터 내에서 실행되는 Tanzu Kubernetes 클러스터 및 서비스에 대한 IP 주소 범위를 결정하는 CIDR 표기법을 입력합니다.
        포트 그룹 감독자에 대한 기본 워크로드 네트워크로 사용할 포트 그룹을 선택합니다.

        기본 네트워크는 Kubernetes 제어부 VM 및 Kubernetes 워크로드 트래픽에 대한 트래픽을 처리합니다.

        네트워킹 토폴로지에 따라, 나중에 각 네임스페이스에 네트워크로 사용할 다른 포트 그룹을 할당할 수 있습니다. 이 방법을 통해 감독자의 네임스페이스 간에 계층 2 분리를 제공할 수 있습니다. 네트워크로 할당된 다른 포트 그룹이 없는 네임스페이스는 기본 네트워크를 사용합니다. Tanzu Kubernetes 클러스터는 배포된 네임스페이스에 할당된 네트워크만 사용하거나 해당 네임스페이스에 명시적으로 할당된 네트워크가 없는 경우 기본 네트워크를 사용합니다.

        네트워크 이름 네트워크 이름을 입력합니다.
        IP 주소 범위 Kubernetes 제어부 VM 및 워크로드의 IP 주소를 할당하기 위한 IP 범위를 입력합니다.

        이 주소 범위는 감독자 노드를 연결하며, 단일 워크로드 네트워크의 경우 Tanzu Kubernetes 클러스터 노드도 연결합니다. HAProxy에 대한 기본 구성을 사용하는 경우 이 IP 범위는 로드 밸런서 VIP 범위와 겹치지 않아야 합니다.

        서브넷 마스크 서브넷 마스크 IP 주소를 입력합니다.
        게이트웨이 기본 네트워크의 게이트웨이를 입력합니다.
        NTP 서버 환경에서 사용하는 NTP 서버의 주소를 입력합니다(있는 경우).
        DNS 서버 환경에서 사용하는 DNS 서버의 IP 주소를 입력합니다(있는 경우).

        예: 10.142.7.1.

    2. 다음을 클릭합니다.
  13. 검토 및 확인 페이지에서 위로 스크롤하여 지금까지 구성한 모든 설정을 검토하고 감독자 배포에 대한 고급 설정을 지정합니다.
    옵션 설명
    감독자 제어부 크기 제어부 VM에 대한 크기 조정을 선택합니다. 제어부 VM의 크기에 따라 감독자에서 실행할 수 있는 워크로드의 양이 결정됩니다. 다음 중에서 선택할 수 있습니다.
    • 매우 작음 - CPU 2개, 8GB 메모리, 32GB 스토리지
    • 작음 - CPU 4개, 16GB 메모리, 32GB 스토리지
    • 중간- CPU 8개, 16GB 메모리, 32GB 스토리지
    • 큼 - CPU 16개, 32GB 메모리, 32GB 스토리지
    참고: 제어부 크기를 선택하면 스케일 업만 가능합니다. 더 작은 크기로 스케일 다운할 수 없습니다.
    API 서버 DNS 이름 필요한 경우 감독자 제어부 IP 주소를 사용하는 대신 감독자 제어부에 액세스하는 데 사용할 FQDN을 입력합니다. 입력한 FQDN은 자동으로 생성된 인증서에 포함됩니다. 감독자에 FQDN을 사용하면 로드 밸런서 인증서에서 IP 샌드 지정을 생략할 수 있습니다.
    구성 내보내기 입력한 감독자 구성의 값이 포함된 JSON 파일을 내보냅니다.

    감독자를 다시 배포하거나 유사한 구성으로 새 감독자를 배포하려는 경우 나중에 파일을 수정하고 가져올 수 있습니다.

    감독자 구성을 내보내면 감독자를 다시 배포할 경우 이 마법사의 모든 구성 값을 새로 입력하는 시간을 절약할 수 있습니다.

  14. 설정을 검토할 준비가 되면 마침을 클릭합니다.
    감독자를 배포하면 제어부 VM 및 기타 구성 요소의 생성 및 구성이 시작됩니다.

다음에 수행할 작업

감독자를 사용하도록 설정하는 마법사를 완료하면 활성화 프로세스를 추적하고 문제 해결이 필요한 잠재적인 문제를 관찰할 수 있습니다. 구성 상태 열에서 의 상태 옆에 있는 보기 감독자를 클릭합니다.
그림 1. 감독자 활성화 보기

감독자 사용 설정 보기에는 사용 설정 프로세스의 조건과 해당 상태가 표시됩니다.

배포 프로세스가 완료되려면 감독자가 원하는 상태에 도달해야 합니다. 즉 모든 조건이 충족되어야 합니다. 감독자가 사용되도록 설정하는 데 성공하면 해당 상태가 [구성 중]에서 [실행 중]으로 변경됩니다. 감독자가 [구성 중] 상태에 있는 동안 각 조건에 도달하기 위한 재시도가 계속됩니다. 조건에 도달하지 않으면 성공할 때까지 작업이 재시도됩니다. 이러한 이유로 인해 도달한 조건 수가 오락가락 변경될 수 있습니다(예: "16개 중 10개 조건에 도달" 후 "16개 중 4개 조건에 도달" 등). 매우 드문 경우지만 원하는 상태에 도달하지 못하게 하는 오류가 있는 경우 상태가 오류로 변경될 수 있습니다.

배포 오류 및 문제 해결 방법에 대한 자세한 내용은 초기 구성 또는 업그레이드 중 감독자 클러스터의 오류 상태 해결을 참조하십시오.

마법사에서 입력한 구성 값을 변경하여 감독자를 다시 배포하려는 경우 JSON 구성 파일을 가져와서 감독자 배포 항목을 확인하십시오.