Skip to main content
설명서에 자주 업데이트를 게시하며 이 페이지의 번역이 계속 진행 중일 수 있습니다. 최신 정보는 영어 설명서를 참조하세요.

이 버전의 GitHub Enterprise는 다음 날짜에 중단되었습니다. 2023-03-15. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. 성능 향상, 향상된 보안, 새로운 기능을 위해 최신 버전의 GitHub Enterprise로 업그레이드합니다. 업그레이드에 대한 도움말은 GitHub Enterprise 지원에 문의하세요.

클러스터 초기화

GitHub Enterprise Server 클러스터는 라이선스를 사용하여 설정하고 SSH(관리 셸)를 사용하여 초기화해야 합니다.

클러스터 초기화 정보

환경에 클러스터를 배포하려면 GitHub Enterprise Server을(를) 설치하고, 클러스터 사용 라이선스를 업로드하고, 첫 번째 노드를 구성하고, 구성 파일을 사용하여 노드를 초기화해야 합니다.

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

GitHub Enterprise Server 설치

  1. 각 클러스터 노드에서 GitHub Enterprise Server를 프로비저닝하고 설치합니다. 자세한 내용은 "GitHub Enterprise Server 인스턴스 설정"을 참조하세요.
  2. 관리 셸 또는 DHCP를 사용하여 각 노드의 IP 주소 구성합니다. 다른 설정은 구성하지 마세요.

첫 번째 노드 구성

  1. cluster.conf에서 MySQL 기본으로 지정될 노드에 연결합니다. 자세한 내용은 "클러스터 초기화"을 참조하세요.
  2. 웹 브라우저에서 https://<ip address>:8443/setup/으로 이동합니다.
  3. 메시지가 표시되면 라이선스 파일을 업로드하고 관리 콘솔 암호를 설정합니다. 자세한 내용은 "GitHub Enterprise 라이선스 관리"을 참조하세요. 3. 관리 콘솔에서 원하는 설정을 구성하고 저장합니다. 4. 인스턴스가 자동으로 다시 시작됩니다.

클러스터 초기화

클러스터를 초기화하려면 클러스터 구성 파일(cluster.conf)이 필요합니다. 자세한 내용은 "클러스터 초기화.

  1. 구성된 첫 번째 노드에서 ghe-cluster-config-init를 실행합니다. 구성되지 않은 클러스터 구성 파일에 노드가 있는 경우 클러스터가 초기화됩니다.
  2. ghe-cluster-config-apply을 실행합니다. 그러면 cluster.conf 파일의 유효성이 검사되고, 각 노드 파일에 구성이 적용되고, 각 노드에서 구성된 서비스를 불러옵니다.

실행 중인 클러스터의 상태를 확인하려면 ghe-cluster-status 명령을 사용합니다.

클러스터 구성 파일 정보

클러스터 구성 파일(cluster.conf)은 클러스터의 노드 및 해당 노드가 실행하는 서비스를 정의합니다. 자세한 내용은 "클러스터 노드 정보"을 참조하세요.

이 예제 cluster.conf 에서는 노드가 11개인 클러스터를 정의합니다.

  • 클라이언트 요청에 응답할 책임이 있는 실행 서비스라는 ghes-front-end-node-\* 두 개의 노드입니다.
  • 데이터베이스 데이터의 스토리지, 검색 및 복제를 담당하는 실행 서비스라는 ghes-database-node-\* 세 개의 노드.
  • 검색 기능을 담당하는 실행 서비스라는 ghes-search-node-\* 세 개의 노드.
  • 라는 ghes-storage-node-\* 세 개의 노드는 데이터 스토리지, 검색 및 복제를 담당하는 서비스를 실행합니다.

노드 이름은 선택한 유효한 호스트 이름일 수 있습니다. 이름은 각 노드의 호스트 이름으로 설정되며, 각 노드의 /etc/hosts에 추가되어 로컬에서 노드를 서로 확인할 수 있습니다.

mysql-servermysql-master를 통해 구성한 첫 번째 클러스터 노드를 MySQL 기본으로 지정합니다.

[cluster]
  mysql-master = ghes-database-node-1
  redis-master = ghes-database-node-1
  primary-datacenter = primary
[cluster "ghes-front-end-node-1"]
  hostname = ghes-front-end-node-1
  ipv4 = 192.168.0.2
  # ipv6 = fd12:3456:789a:1::2
  consul-datacenter = primary
  datacenter = primary
  web-server = true
  job-server = true
  memcache-server = true
[cluster "ghes-front-end-node-2"]
  hostname = ghes-front-end-node-2
  ipv4 = 192.168.0.3
  # ipv6 = fd12:3456:789a:1::3
  consul-datacenter = primary
  datacenter = primary
  web-server = true
  job-server = true
  memcache-server = true
[cluster "ghes-database-node-1"]
  hostname = ghes-database-node-1
  ipv4 = 192.168.0.4
  # ipv6 = fd12:3456:789a:1::4
  consul-datacenter = primary
  datacenter = primary
  consul-server = true
  mysql-server = true
  redis-server = true
[cluster "ghes-database-node-2"]
  hostname = ghes-database-node-2
  ipv4 = 192.168.0.5
  # ipv6 = fd12:3456:789a:1::5
  consul-datacenter = primary
  datacenter = primary
  consul-server = true
  mysql-server = true
  redis-server = true
[cluster "ghes-database-node-3"]
  hostname = ghes-database-node-3
  ipv4 = 192.168.0.6
  # ipv6 = fd12:3456:789a:1::6
  consul-datacenter = primary
  datacenter = primary
  consul-server = true
  mysql-server = true
  redis-server = true
[cluster "ghes-search-node-1"]
  hostname = ghes-search-node-1
  ipv4 = 192.168.0.7
  # ipv6 = fd12:3456:789a:1::7
  consul-datacenter = primary
  datacenter = primary
  elasticsearch-server = true
[cluster "ghes-search-node-2"]
  hostname = ghes-search-node-2
  ipv4 = 192.168.0.8
  # ipv6 = fd12:3456:789a:1::8
  consul-datacenter = primary
  datacenter = primary
  elasticsearch-server = true
[cluster "ghes-search-node-3"]
  hostname = ghes-search-node-3
  ipv4 = 192.168.0.9
  # ipv6 = fd12:3456:789a:1::9
  consul-datacenter = primary
  datacenter = primary
  elasticsearch-server = true
[cluster "ghes-storage-node-1"]
  hostname = ghes-storage-node-1
  ipv4 = 192.168.0.10
  # ipv6 = fd12:3456:789a:1::10
  consul-datacenter = primary
  datacenter = primary
  git-server = true
  pages-server = true
  storage-server = true
  metrics-server = true
[cluster "ghes-storage-node-2"]
  hostname = ghes-storage-node-2
  ipv4 = 192.168.0.11
  # ipv6 = fd12:3456:789a:1::11
  consul-datacenter = primary
  datacenter = primary
  git-server = true
  pages-server = true
  storage-server = true
  metrics-server = true
[cluster "ghes-storage-node-3"]
  hostname = ghes-storage-node-3
  ipv4 = 192.168.0.12
  # ipv6 = fd12:3456:789a:1::12
  consul-datacenter = primary
  datacenter = primary
  git-server = true
  pages-server = true
  storage-server = true
  metrics-server = true

구성된 첫 번째 노드에 /data/user/common/cluster.conf 파일을 만듭니다. 예를 들어 vim를 사용하는 경우

ghe-data-node-1:~$ sudo vim /data/user/common/cluster.conf