此版本的 GitHub Enterprise 已停止服务 2021-09-23. 即使针对重大安全问题,也不会发布补丁。 要获得更好的性能、改进的安全性和新功能,请升级到 GitHub Enterprise 的最新版本。 如需升级方面的帮助,请联系 GitHub Enterprise 支持

初始化集群

GitHub Enterprise Server 集群必须使用许可进行设置,并使用管理 shell (SSH) 进行初始化。

注:GitHub Enterprise Server 集群必须通过 HTTPS 进行配置。

安装 GitHub Enterprise Server

  1. 在每个集群节点上,提供并安装 GitHub Enterprise Server。 更多信息请参阅“设置 GitHub Enterprise Server 实例”。
  2. 使用管理 shell 或 DHCP,配置每个节点的 IP 地址。 不要配置任何其他设置。

配置第一个节点

  1. 连接到将在 cluster.conf 中指定为 MySQL 主要节点的节点。 更多信息请参阅“关于集群配置文件”。
  2. 在 Web 浏览器中,访问 https://<ip address>:8443/setup/
  3. 在提示时上传许可文件并设置管理控制台密码。 For more information, see "Managing your license for GitHub Enterprise."
  4. 管理控制台 中,配置并保存您所需的设置。
  5. 实例将自动重启。

初始化集群

要初始化集群,您需要一个集群配置文件 (cluster.conf)。 更多信息请参阅“关于集群配置文件”。

  1. 从配置的第一个节点开始,运行 ghe-cluster-config-init。 如果集群配置文件中存在未配置的节点,此操作会初始化集群。
  2. 运行 ghe-cluster-config-apply。 这将验证 cluster.conf 文件,将配置应用于每个节点文件,并在每个节点上显示已配置的服务。

要检查正在运行的集群的状态,使用 ghe-cluster-status 命令。

关于集群配置文件

集群配置文件 (cluster.conf) 会定义集群中的节点以及它们运行的​​服务。 更多信息请参阅“关于集群节点”。

此示例 cluster.conf 定义了一个包含五个节点的集群。

  • 两个节点(称为 ghe-app-node-\*)运行负责响应客户端请求的 web-serverjob-server 服务。
  • 三个节点(称为 ghe-data-node-\*)运行负责存储和检索 GitHub Enterprise Server 数据的服务。

节点的名称可以是您选择的任何有效主机名。 名称被设置为每个节点的主机名,并且还将添加到每个节点上的 /etc/hosts 中,以便节点可以在本地相互解析。

通过 mysql-servermysql-master 指定您配置为 MySQL 主要节点的第一个集群节点。

[cluster]
  mysql-master = ghe-data-node-1
  redis-master = ghe-data-node-1
  primary-datacenter = default
[cluster "ghe-app-node-1"]
  hostname = ghe-app-node-1
  ipv4 = 192.168.0.2
  # ipv6 = fd12:3456:789a:1::2
  web-server = true
  job-server = true
[cluster "ghe-app-node-2"]
  hostname = ghe-app-node-2
  ipv4 = 192.168.0.3
  # ipv6 = fd12:3456:789a:1::3
  web-server = true
  job-server = true
[cluster "ghe-data-node-1"]
  hostname = ghe-data-node-1
  ipv4 = 192.168.0.4
  # ipv6 = fd12:3456:789a:1::4
  consul-server = true
  consul-datacenter = default
  git-server = true
  pages-server = true
  mysql-server = true
  elasticsearch-server = true
  redis-server = true
  memcache-server = true
  metrics-server = true
  storage-server = true
[cluster "ghe-data-node-2"]
  hostname = ghe-data-node-2
  ipv4 = 192.168.0.5
  # ipv6 = fd12:3456:789a:1::5
  consul-server = true
  consul-datacenter = default
  git-server = true
  pages-server = true
  mysql-server = true
  elasticsearch-server = true
  redis-server = true
  memcache-server = true
  metrics-server = true
  storage-server = true
[cluster "ghe-data-node-3"]
  hostname = ghe-data-node-3
  ipv4 = 192.168.0.6
  # ipv6 = fd12:3456:789a:1::6
  consul-server = true
  consul-datacenter = default
  git-server = true
  pages-server = true
  mysql-server = true
  elasticsearch-server = true
  redis-server = true
  memcache-server = true
  metrics-server = true
  storage-server = true

在配置的第一个节点上创建文件 /data/user/common/cluster.conf。 例如,使用 vim

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