Skip to main content

Hyper-V에 GitHub Enterprise Server 설치

Hyper-V에 GitHub Enterprise Server를 설치하려면 Windows Server 2008부터 Windows Server 2022까지를 실행하는 컴퓨터에 배포해야 합니다.

필수 조건

  • GitHub Enterprise 라이선스 파일이 있어야 합니다. 자세한 내용은 "GitHub Enterprise Server 평가판 설정" 및 "GitHub Enterprise 라이선스 정보"의 내용을 참조하세요.
  • Hyper-V를 지원하는 Windows Server 2008~Windows Server 2022가 있어야 합니다.
  • VM(가상 머신)을 만드는 데 필요한 대부분의 작업은 Hyper-V 관리자를 사용하여 수행할 수도 있습니다. 그러나 초기 설정에는 Windows PowerShell 명령줄 셸을 사용하는 것이 좋습니다. PowerShell을 사용하는 예제는 다음과 같습니다. 자세한 내용은 Microsoft 가이드 Windows PowerShell 시작을 참조하세요.

하드웨어 고려 사항

최소 권장 요구 사항

GitHub Enterprise Server 인스턴스에 대한 사용자 라이선스 수에 따라 다른 하드웨어 구성을 사용하는 것이 좋습니다. 최소 권장 요구 사항보다 더 많은 리소스를 프로비저닝하면 인스턴스의 성능과 스케일링이 향상됩니다.

사용자 라이선스x86-64 vCPUs메모리루트 스토리지연결된(데이터) 스토리지
평가판, 데모 또는 10명의 라이트 사용자432GB200GB150GB
10~3,000848GB200GB300GB
3,000~50001264GB200GB500GB
5,000~8,0001696 GB200GB750GB
8,000~10,000+20160GB200GB1000GB

인스턴스 사용자에 대해 GitHub Actions 또는 GitHub Advanced Security를 사용하도록 설정하려는 경우 더 많은 리소스가 필요합니다.

  • GitHub Actions - CPU 및 메모리 모두 25% 이상 증가
  • GitHub Advanced Security - CPU 및 메모리 모두 25% 이상 증가

이러한 조정은 각 사용자 계층의 기본 요구 사항에 적용해야 합니다. 추가 증가가 필요할 수 있으므로 리소스에 대한 모든 변경 내용을 모니터링하는 것이 좋습니다.

여러 요구 사항에 대한 자세한 내용은 "GitHub Enterprise Server용 GitHub Actions 시작"을 참조하세요.

인스턴스 사용자에 대해 Container registry를 사용하도록 설정하려는 경우 더 많은 리소스가 필요합니다. 이러한 요구 사항에 대한 자세한 내용은 "엔터프라이즈를 위한 GitHub Packages 시작" 항목을 참조하세요.

기존 인스턴스의 리소스 조정에 대한 자세한 내용은 "스토리지 용량 늘리기" 및 "CPU 또는 메모리 리소스 늘리기"를 참조하세요.

스토리지

IOPS(초당 입출력 작업 수)가 높고 GitHub Enterprise Server의 대기 시간이 짧은 고성능 SSD를 사용하는 것이 좋습니다. 워크로드는 I/O 집약적입니다. 운영 체제 미설치 하이퍼바이저를 사용하는 경우 디스크를 직접 연결하거나 SAN(스토리지 영역 네트워크)의 디스크를 사용하는 것이 좋습니다.

인스턴스에는 루트 디스크와 별도로 영구 데이터 디스크가 필요합니다. 자세한 내용은 "시스템 개요"을(를) 참조하세요.

Warning

루트 스토리지는 인스턴스 루트 디스크의 총 크기를 나타냅니다. 인스턴스가 부팅되면 루트 파일 시스템에 100GB는 루트 파일 시스템 사용할 수 있습니다. 나머지 100GB는 업그레이드를 위해 예약되어 있습니다. 자세한 내용은 "시스템 개요"을(를) 참조하세요.

GitHub Actions을 구성하려면 외부 BLOB 스토리지를 제공해야 합니다. 자세한 내용은 "GitHub Enterprise Server용 GitHub Actions 시작"을(를) 참조하세요.

루트 파일 시스템의 사용 가능한 공간은 전체 디스크 크기의 50%입니다. 새 인스턴스를 빌드하거나 기존 인스턴스를 사용하여 인스턴스의 루트 디스크 크기를 조정할 수 있습니다. 자세한 내용은 "시스템 개요" 및 "스토리지 용량 늘리기"를 참조하세요.

CPU 및 메모리

GitHub Enterprise Server에 필요한 CPU 및 메모리 리소스는 사용자, 자동화 및 통합에 대한 활동 수준에 따라 달라집니다.

GitHub Enterprise Server 인스턴스에 프로비전하는 모든 VM은 x86-64 CPU 아키텍처를 사용해야 합니다. AArch64 또는 arm64와 같은 다른 아키텍처는 지원하지 않습니다.

GitHub Enterprise Server 인스턴스의 사용자에 대해 GitHub Actions를 사용하도록 설정하려는 경우 인스턴스에 대한 추가 CPU 및 메모리 리소스를 프로비저닝해야 할 수 있습니다. 자세한 내용은 "GitHub Enterprise Server용 GitHub Actions 시작"을(를) 참조하세요.

CPU 리소스를 늘릴 때 GitHub에서는 인스턴스에 프로비저닝하는 각 vCPU(최대 16개 vCPU)에 대해 최소 6.5GB의 메모리를 추가하는 것이 좋습니다. 16개 이상의 vCPU를 사용하는 경우 각 vCPU에 대해 6.5GB의 메모리를 추가할 필요는 없지만 충분한 메모리가 있는지 확인하기 위해 인스턴스를 모니터링해야 합니다.

Warning

사용자가 외부 시스템에 GitHub Enterprise Server에 대한 활동을 알리도록 웹후크 이벤트를 구성하는 것이 좋습니다. 변경 또는 _폴링_에 대한 자동화된 검사는 인스턴스의 성능 및 스케일링 성능에 부정적인 영향을 줍니다. 자세한 내용은 "웹후크 정보"을(를) 참조하세요.

GitHub Enterprise Server의 용량 및 성능 모니터링에 대한 자세한 내용은 "인스턴스 모니터링" 항목을 참조하세요.

인스턴스의 CPU 또는 메모리 리소스를 늘릴 수 있습니다. 자세한 내용은 "CPU 또는 메모리 리소스 늘리기" 항목을 참조하세요.

VMotion을 사용해야 하나요?

VMotion은 일반 리소스 관리에 매우 유용할 수 있지만 게스트 instance에 미치는 영향이 클 수 있습니다. 더 큰 GitHub Enterprise Server 인스턴스(8개 CPU/64GB RAM 이상)를 사용하는 경우, VMotion 이벤트로 인해 CPU, RAM, 스토리지 IOPS가 크게 감소하여 최종 사용자에게 GitHub Enterprise Server가 완전히 중단될 수 있습니다. 이 점을 염두에 두고 GitHub Enterprise Server는 “대기 시간이 매우 중요한” 애플리케이션으로 간주되어야 합니다.

DRS(분산 리소스 스케줄러)를 사용하도록 설정된 VMWare의 대규모 배포의 경우 GitHub Enterprise Server에 대한 VM-호스트 선호도 규칙을 구성하여 가상 어플라이언스를 단일 호스트에 유지하도록 하는 것이 좋습니다. VMotion을 사용한 마이그레이션이 필요한 경우 이를 “계획된 중단”으로 간주하고 마이그레이션이 완료될 때까지 GitHub Enterprise Server를 유지 모드로 배치하는 것이 좋습니다.

또한 ESXi 전원 관리 설정을 “고성능”으로 구성하는 것이 좋습니다. “균형”에 남아 있는 경우 전반적인 시스템 성능에 부정적인 영향을 미칠 수 있는 경우를 보았습니다.

GitHub Enterprise Server 이미지 다운로드

  1. 라이선스를 다운로드합니다. 자세한 내용은 "GitHub Enterprise 라이선스 다운로드"을(를) 참조하세요.

  2. 새 인스턴스에 사용할 이미지로 이동합니다.

    • 릴리스 정보로 이동합니다.
    • 오른쪽 사이드바에서 다운로드할 버전을 클릭합니다.
    • GitHub Enterprise Server X.X.X 다운로드를 클릭합니다.
  3. “GitHub 온-프레미스”에서 “하이퍼바이저 선택” 드롭다운 메뉴를 선택하고 Hyper-V(VHD) 를 클릭합니다.

  4. Hyper-V(VHD)용 다운로드를 클릭합니다.

GitHub Enterprise Server 인스턴스 만들기

인스턴스를 만들려면 GitHub Enterprise Server 이미지를 가상 머신으로 가져오고 인스턴스 데이터에 대한 추가 스토리지 볼륨을 연결해야 합니다. 자세한 내용은 “하드웨어 고려사항”을 참조하세요.

  1. PowerShell에서 새 1세대 가상 머신을 만들고, 사용자 라이선스 수에 따라 크기를 구성하고, 다운로드한 GitHub Enterprise Server 이미지를 첨부합니다. 자세한 내용은 Microsoft 설명서의 New-VM을 참조하세요.

    PS C:\> New-VM -Generation 1 -Name VM_NAME -MemoryStartupBytes MEMORY_SIZE -BootDevice VHD -VHDPath PATH_TO_VHD  
    
  2. 인스턴스 데이터에 연결된 스토리지 볼륨으로 사용할 새 가상 디스크를 만들고 사용자 라이선스 수에 따라 크기를 구성합니다. 기존 디스크를 다시 사용하는 경우 디스크가 비어 있고 파티션이 없는지 확인해야 합니다. PATH_TO_DATA_DISK를 디스크를 만든 위치의 경로로 바꿉니다. 자세한 내용은 Microsoft 문서의 “New-VHD”를 참조하세요.

    PS C:\> New-VHD -Path PATH_TO_DATA_DISK -SizeBytes DISK_SIZE
    
  3. 데이터 디스크를 인스턴스에 연결합니다. 자세한 내용은 Microsoft 설명서의 Add-VMHardDiskDrive를 참조하세요.

    PS C:\> Add-VMHardDiskDrive -VMName VM_NAME -Path PATH_TO_DATA_DISK
    
  4. VM을 시작합니다. 자세한 내용은 Microsoft 설명서의 Start-VM을 참조하세요.

    PS C:\> Start-VM -Name VM_NAME
    
  5. VM의 IP 주소를 가져옵니다. 자세한 내용은 Microsoft 설명서의 Get-VMNetworkAdapter를 참조하세요.

    PS C:\> (Get-VMNetworkAdapter -VMName VM_NAME).IpAddresses
    
  6. VM의 IP 주소를 복사하여 웹 브라우저에 붙여넣습니다.

GitHub Enterprise Server 인스턴스 구성

인스턴스를 구성하려면 라이선스 파일을 업로드하고, root 관리 콘솔 암호를 설정하고 인스턴스 설정을 구성한 다음 인스턴스를 다시 시작해야 합니다.

Warning

공격자가 새 인스턴스를 손상하지 않도록 하려면 루트 관리 콘솔 암호를 개인적으로 설정하고 가능한 한 빨리 첫 번째 사용자를 만들어야 합니다.

  1. 가상 머신의 공용 DNS 이름을 복사하여 웹 브라우저에 붙여넣습니다.
  2. 메시지가 표시되면 라이선스 파일을 업로드하고 관리 콘솔 암호를 설정합니다. 자세한 내용은 "GitHub Enterprise 라이선스 관리"을(를) 참조하세요.
  3. 관리 콘솔에서 원하는 설정을 구성하고 저장합니다. 자세한 내용은 "GitHub Enterprise 구성"을(를) 참조하세요.
  4. 인스턴스가 자동으로 다시 시작됩니다.
  5. 인스턴스 방문을 클릭합니다.

추가 참고 자료