vSphere 관리자는 워크로드에 대한 연결을 제공하도록 vSphere 네트워킹 스택을 구성하여 vSphere 클러스터에서 워크로드 관리 플랫폼을 사용하도록 설정할 수 있습니다. vSphere 네트워킹으로 구성된 감독자 클러스터Tanzu Kubernetes Grid 서비스를 사용하여 생성된 Tanzu Kubernetes 클러스터의 배포를 지원합니다. vSphere 포드를 실행하거나 내장된 Harbor 레지스트리를 사용하는 것은 지원하지 않습니다.

경고: 감독자 클러스터를 구성한 후에는 vSphere DRS를 사용하지 않도록 설정하지 마십시오. 감독자 클러스터에서 워크로드를 실행하려면 항상 DRS를 사용하도록 설정해야 합니다. DRS를 사용하지 않도록 설정하면 Tanzu Kubernetes 클러스터가 중단됩니다.

사전 요구 사항

프로시저

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

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

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

  3. 워크로드 관리 화면에서 시작을 다시 클릭합니다.
  4. vCenter Server 시스템을 선택하고 vCenter Server 네트워크를 선택한 후 다음을 클릭합니다.
  5. 호환되는 클러스터 목록에서 클러스터를 선택합니다.
  6. 제어부 크기 페이지에서 클러스터의 각 호스트에 생성될 Kubernetes 제어부 VM에 대한 크기를 선택합니다.

    제어부 VM에 할당하는 리소스의 양에 따라 감독자 클러스터가 관리할 수 있는 Kubernetes 워크로드 수가 결정됩니다.

  7. 로드 밸런서 화면에서 사용할 로드 밸런서를 선택합니다. NSX Advanced Load Balancer 또는 HAProxy를 선택할 수 있습니다.
    • NSX Advanced Load Balancer에 대해 다음 설정을 입력합니다.

      옵션

      설명

      이름

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

      Avi 컨트롤러 IP

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

      기본 포트는 443입니다.

      사용자 이름

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

      암호

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

      서버 CA(인증 기관)

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

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

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

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

      옵션

      설명

      이름

      로드 밸런서에 대해 사용자에게 친숙한 이름입니다.

      데이터부 API 주소

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

      사용자 이름

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

      암호

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

      가상 서버에 대한 IP 주소 범위

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

      서버 CA(인증 기관)

      데이터부 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
  8. 관리 네트워크 화면에서 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를 변경하는 것은 지원되지 않습니다.

      • 정적. 관리 네트워크에 대한 모든 네트워킹 설정을 수동으로 입력합니다.

    2. 관리 네트워크에 대한 설정을 구성합니다.

      DHCP 네트워크 모드를 선택했지만 DHCP에서 획득한 설정을 재정의하려면 추가 설정을 클릭하고 새 값을 입력합니다. 정적 네트워크 모드를 선택한 경우에는 관리 네트워크 설정에 대한 값을 수동으로 입력합니다.

      옵션 설명

      네트워크

      관리 트래픽에 대해 구성된 VMkernel 어댑터가 있는 네트워크를 선택합니다.

      제어 IP 주소 시작

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

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

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

      • 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 서버의 주소를 입력합니다(있는 경우).

  9. 워크로드 네트워크 페이지에서 감독자 클러스터에서 실행되는 Kubernetes 워크로드에 대한 네트워킹 트래픽을 처리하는 네트워크에 대한 설정을 입력합니다.
    참고:

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

    1. 네트워크 모드를 선택합니다.
      • DHCP 네트워크. 이 네트워크 모드에서는 워크로드 네트워크에 대한 모든 네트워킹 설정이 DHCP를 통해 획득됩니다.

      • 정적. 워크로드 네트워크 설정을 수동으로 구성합니다.

    2. 감독자 클러스터에 대한 기본 워크로드 네트워크로 사용할 포트 그룹을 선택합니다.

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

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

    3. 워크로드 네트워크에 대한 설정을 구성합니다.

      DHCP 네트워크 모드를 선택한 경우 추가 설정 섹션 아래 모든 값이 DHCP 서버에서 자동으로 채워집니다. 이러한 값을 재정의하려면 추가 설정을 클릭하고 새 값을 입력합니다. 정적 네트워크 모드를 선택한 경우에는 모든 설정을 수동으로 입력합니다.

    옵션 설명

    Kubernetes 서비스를 위한 내부 네트워크

    클러스터 내에서 실행되는 Tanzu Kubernetes 클러스터 및 서비스에 대한 IP 주소 범위를 결정하는 CIDR 표기법을 입력합니다.

    네트워크 이름

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

    DNS 서버

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

    예: 10.142.7.1.

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

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

    게이트웨이

    기본 네트워크의 게이트웨이를 입력합니다.

    서브넷 마스크 IP

    서브넷 마스크 IP 주소를 입력합니다.

    IP 주소 범위

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

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

  10. 스토리지 페이지에서 스토리지 및 파일 볼륨 지원을 구성합니다.
    1. 감독자 클러스터에 대한 스토리지 정책을 선택합니다.

      다음 각 개체에 대해 선택하는 스토리지 정책은 개체가 스토리지 정책에서 참조되는 데이터스토어에 배치되도록 합니다. 개체에 대해 동일한 또는 서로 다른 스토리지 정책을 사용할 수 있습니다.

      옵션 설명

      제어부 노드

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

      포드 사용 후 삭제 디스크

      vSphere 포드 배치에 대한 스토리지 정책을 선택합니다.

      컨테이너 이미지 캐시

      컨테이너 이미지의 캐시 배치에 대한 스토리지 정책을 선택합니다.

    2. (선택 사항) 파일 볼륨 지원을 활성화합니다.
      이 옵션은 클러스터에 ReadWriteMany 영구 볼륨을 배포하려는 경우에 필요합니다. vSphere with Tanzu에서 ReadWriteMany 영구 볼륨 생성의 내용을 참조하십시오.
  11. Tanzu Kubernetes Grid 페이지에서 추가를 클릭하고 Tanzu Kubernetes 클러스터의 노드를 배포하기 위한 VM 이미지가 포함된 구독 컨텐츠 라이브러리를 선택합니다.
  12. 설정을 검토하고 마침을 클릭합니다.

결과

감독자 클러스터를 생성하는 vCenter Server에서 작업이 실행됩니다. 작업이 완료되면 vSphere 클러스터에 속한 호스트에 3개의 Kubernetes 제어부 VM이 생성됩니다.

다음에 수행할 작업

감독자 클러스터에서 vSphere 네임스페이스를 생성하고 구성합니다. vSphere 네임스페이스 생성 및 구성의 내용을 참조하십시오.