Skip to main content

OpenStack KVM에 GitHub Enterprise Server 설치

OpenStack KVM에 GitHub Enterprise Server를 설치하려면 OpenStack 액세스 권한이 있어야 하며 GitHub Enterprise Server QCOW2 이미지를 다운로드해야 합니다.

필수 조건

하드웨어 고려 사항

최소 권장 요구 사항

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 또는 메모리 리소스 늘리기" 항목을 참조하세요.

GitHub Enterprise Server 이미지 다운로드

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

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

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

  4. OpenStack KVM(QCOW2) 다운로드를 클릭합니다.

GitHub Enterprise Server 인스턴스 만들기

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

  1. OpenStack Horizon에서 다운로드한 GitHub Enterprise Server 이미지를 업로드합니다. 자세한 내용은 OpenStack 가이드 이미지 업로드 및 관리의 "이미지 업로드" 구역을 참조하세요.

  2. 인스턴스 데이터에 연결된 스토리지 볼륨으로 사용할 새 가상 디스크를 만들고 사용자 라이선스 수에 따라 크기를 구성합니다. 기존 디스크를 다시 사용하는 경우 디스크가 비어 있고 파티션이 없는지 확인해야 합니다. 자세한 내용은 OpenStack 가이드 볼륨 만들기 및 관리를 참조하세요.

  3. 보안 그룹을 만들고 아래 표의 각 포트에 대해 새 보안 그룹 규칙을 추가합니다. 자세한 내용은 OpenStack 가이드 인스턴스에 대한 액세스 및 보안 구성을 참조하세요.

    포트서비스설명
    22SSHSSH 액세스를 통한 Git입니다. 퍼블릭/프라이빗 리포지토리에 대한 복제, 가져오기 및 푸시 작업이 지원됩니다.
    25SMTP암호화를 사용한 SMTP(STARTTLS) 지원입니다.
    80HTTP웹 애플리케이션 액세스입니다. SSL을 활성화하면 모든 요청이 HTTPS 포트로 리디렉션됩니다.
    122SSH인스턴스 셸 액세스입니다. 기본 SSH 포트(22)는 애플리케이션 git+ssh 네트워크 트래픽 전용입니다.
    161/UDPSNMP네트워크 모니터링 프로토콜 작업에 필요합니다.
    443HTTPSHTTPS 액세스를 통한 웹 애플리케이션 및 Git입니다.
    1194/UDPVPN고가용성 구성에서 복제 네트워크 터널을 보호합니다. WireGuard를 사용하여 암호화됩니다.
    8080HTTP일반 텍스트 웹 기반 관리 콘솔입니다. SSL을 사용하지 않도록 수동으로 설정하지 않는 한 필요하지 않습니다.
    8443HTTPS웹 기반 관리 콘솔을 보호합니다. 기본 설치 및 구성에 필요합니다.
    9418Git간단한 Git 프로토콜 포트입니다. 공용 리포지토리에만 작업을 복제하고 페치합니다. 암호화되지 않은 네트워크 통신입니다. 인스턴스에서 프라이빗 모드를 사용하도록 설정한 경우 익명 Git 읽기 액세스를 사용하도록 설정한 경우에만 이 포트를 여는 것이 필요합니다. 자세한 내용은 "엔터프라이즈에서 리포지토리 관리 정책 적용"을(를) 참조하세요.
  4. 필요에 따라 부동 IP를 인스턴스에 연결합니다. OpenStack 설정에 따라 부동 IP를 프로젝트에 할당하고 인스턴스에 연결해야 할 수 있습니다. 시스템 관리자에게 문의하여 사용자에게 적합한지 확인합니다. 자세한 내용은 OpenStack 설명서에서 인스턴스에 부동 IP 주소 할당을 참조하세요.

  5. 이전 단계에서 만든 이미지, 데이터 볼륨 및 보안 그룹을 사용하여 GitHub Enterprise Server 인스턴스을(를) 시작합니다. 자세한 내용은 OpenStack 가이드 인스턴스 시작 및 관리를 참조하세요.

GitHub Enterprise Server 인스턴스 구성

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

Warning

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

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

추가 참고 자료