Skip to main content

클러스터 노드 정보

GitHub Enterprise Server 클러스터에서 노드는 인스턴스를 구성하는 GitHub Enterprise Server 소프트웨어를 실행하는 개별 VM(가상 머신)입니다. 각 노드는 일련의 서비스를 실행합니다.

누가 이 기능을 사용할 수 있나요?

GitHub은(는) 클러스터링 자격을 결정하며 인스턴스의 라이선스 구성을 사용하도록 설정해야 합니다. 클러스터링은 신중하게 계획해야 하며 관리 오버헤드가 추가로 필요합니다. 자세한 내용은 "클러스터링 정보"을(를) 참조하세요.

GitHub Enterprise Server 클러스터 노드 정보

GitHub Enterprise Server 클러스터의 각 노드는 GitHub Enterprise Server 소프트웨어를 실행하는 VM(가상 머신)입니다. 클러스터를 배포하기 전에 하드웨어 요구 사항, 필수 서비스, 디자인 권장 사항을 검토할 수 있습니다.

참고: GitHub Enterprise Server 클러스터링은 HTTPS로 구성해야 합니다.

하드웨어 요구 사항

각 노드에는 루트 볼륨과 별도의 데이터 볼륨이 있어야 합니다. 최소 권장 사항입니다. 사용자 활동 및 선택한 통합과 같은 사용량에 따라 더 많은 리소스가 필요할 수 있습니다.

Services필요한 최소 메모리필요한 최소 데이터 볼륨 사용 가능한 공간
job-server,
memcache-server,
web-server
14 GB1GB
consul-server,
mysql-server,
redis-server
14 GB10 GB
git-server,
metrics-server,
pages-server,
storage-server
14 GB10 GB
elasticsearch-server14 GB10 GB

클러스터링에 필요한 서비스

GitHub Enterprise Server는 일련의 서비스로 구성됩니다. 클러스터에서 이러한 서비스는 여러 노드에서 실행되며, 인스턴스는 노드 간에 요청을 분산합니다. 인스턴스는 별도의 노드에 데이터의 중복 복사본을 자동으로 저장합니다. 대부분의 서비스는 동일한 서비스의 다른 인스턴스와 동일한 피어입니다. 이 배포의 예외는 하나 이상의 복제본 노드가 있는 단일 주 노드로 작동하는 mysql-serverredis-server 서비스입니다.

적절한 중복성을 위해 각 서비스를 작동하는 이 최소 노드를 사용하세요.

참고: 환경의 크기 조정 요구 사항은 리포지토리의 크기 및 수, 사용자 수, 전반적인 사용률을 비롯한 여러 요인에 따라 달라집니다.

예제 클러스터 구성

다음 예제에서는 필요한 서비스를 실행하는 11개의 노드를 포함하는 최소 클러스터 구성을 보여 줍니다.

계층Services필요한 최소 노드
프런트 엔드job-server,
memcache-server,
web-server
2
데이터베이스consul-server,
mysql-server,
redis-server
3
스토리지git-server,
metrics-server,
pages-server,
storage-server
3
검색elasticsearch-server3

클러스터 디자인 권장 사항

클러스터링을 통해 GitHub Enterprise Server를 구성하는 서비스를 서로 독립적으로 스케일 아웃할 수 있습니다. 유연성을 통해 다양한 스케일링 성능 요구 사항이 있는 조직에 맞는 클러스터를 디자인하고 구현할 수 있습니다. 예를 들어 일부 조직에서는 대규모 또는 빈번한 페치에 더 많은 스토리지 처리량이 필요할 수 있지만 웹 서버 사용량이 상대적으로 낮을 수 있습니다. 다른 조직에서는 스토리지 리소스가 적어 성능이 좋을 수 있지만 pages-server 또는 elasticsearch-server를 실행하는 많은 노드가 필요할 수 있습니다. 여러 가지 다양한 조합이 가능합니다. 계정 담당자와 협력하여 특정 요구 사항에 가장 적합한 클러스터 구성을 결정하세요.

  • 독립 하드웨어에 중복 노드를 분산합니다. CPU, 메모리 또는 스토리지 디바이스를 공유하는 경우 성능을 줄이고 단일 실패 지점을 도입합니다. 공유 네트워킹 구성 요소는 처리량을 줄이고 가동 중단 시 연결이 끊어질 위험이 늘어날 수도 있습니다.
  • 빠른 스토리지를 사용합니다. SAN(저장 영역 네트워크)은 절대 처리량이 아닌 최대 공간 사용률, 가용성 및 내결함성을 위해 최적화됩니다. GitHub Enterprise Server 클러스터링은 중복성과 가용성을 제공하며, 사용 가능한 가장 빠른 스토리지에서 최상의 성능을 발휘합니다. 로컬 SSD 스토리지를 사용하는 것이 좋습니다.