先决条件
- 您必须拥有 GitHub Enterprise 许可文件。 有关详细信息,请参阅“设置 GitHub Enterprise Server 试用版”和“关于 GitHub Enterprise 的许可证”。
- 您必须有权访问 OpenStack Horizon,即 OpenStack 服务基于 Web 的用户界面。 有关详细信息,请参阅 Horizon 文档。
硬件注意事项
最低推荐要求
建议根据 你的 GitHub Enterprise Server 实例 的用户许可数选择不同的硬件配置。 如果预配的资源超过最低推荐要求,则实例将表现更好并且可扩展性更好。
用户许可证 | x86-64 vCPU | 内存 | 根存储 | 附加(数据)存储 | IOPS |
---|---|---|---|---|---|
试用版、演示版或 10 个轻度用户 | 4 | 32 GB | 400 GB | 500 GB | 600 |
最多 1,000 个 | 8 | 48 GB | 400 GB | 500 GB | 3000 |
1,000 到 3,000 | 16 | 64 GB | 400 GB | 1000 GB | 6000 |
3,000 到 5,000 | 32 | 128 GB | 400 GB | 1500 GB | 9000 |
5,000 到 8,000 | 48 | 256 GB | 400 GB | 3000 GB | 12000 |
8000-10000+ | 64 | 512 GB | 400 GB | 5000 GB | 15000 |
如果计划为实例的用户启用 GitHub Actions 或 GitHub Advanced Security,则需要更多资源。
- GitHub Actions - 将 CPU 和内存增加 25%
- GitHub Advanced Security - 将 CPU 和内存增加 15%
这些调整应适用于每个用户层的基本要求。
有关这些要求的详细信息,请参阅“GitHub Actions for GitHub Enterprise Server 使用入门”。
如果计划为实例的用户启用 Container registry,则需要更多资源。 有关这些要求的详细信息,请参阅“企业 GitHub Packages 使用入门”。
有关为现有实例调整资源的详细信息,请参阅“增加存储容量”和“增加 CPU 或内存资源”。
存储
我们建议为 GitHub Enterprise Server 配置具有高每秒输入/输出操作数 (IOPS) 和低延迟的高性能 SSD。 工作负载是 I/O 密集型的。 如果使用裸机管理程序,建议直接连接磁盘或使用存储区域网络 (SAN) 中的磁盘。
您的实例需要一个独立于根磁盘的持久数据磁盘。 有关详细信息,请参阅“系统概览”。
Warning
根存储是指实例的根磁盘总大小。 当实例启动时,将看到根文件系统上有 200GB 可用空间。 根文件系统上剩余的 200GB 保留用于升级。 有关详细信息,请参阅“系统概览”。
若要配置 GitHub Actions,必须提供外部 Blob 存储。 有关详细信息,请参阅“GitHub Actions for GitHub Enterprise Server 使用入门”。
根文件系统上的可用空间将占磁盘总大小的 50%。 您可以通过构建一个新实例或使用现有实例来调整实例的根磁盘大小。 有关详细信息,请参阅“系统概览”和“增加存储容量”。
CPU 和内存
GitHub Enterprise Server 需要的 CPU 和内存资源取决于用户的活动水平、自动化和集成。
为 你的 GitHub Enterprise Server 实例 预配的任何 VM 都必须使用 x86-64 CPU 体系结构。 其他体系结构(例如 AArch64 或 arm64)均不受支持。
如果计划为 GitHub Enterprise Server 实例的用户启用 GitHub Actions,则可能需要为实例预配额外的 CPU 和内存资源。 有关详细信息,请参阅“GitHub Actions for GitHub Enterprise Server 使用入门”。
增加 CPU 资源时,GitHub建议为实例预配的每个 vCPU(最多 16 个 vCPU)增加至少 6.5 GB 的内存。 如果您使用的 vCPU 超过 16 个,则无需为每个 vCPU 添加 6.5 GB 内存,但应监控您的实例以确保其有足够的内存。
警告:建议用户配置 Web 挂钩事件来通知外部系统有关 GitHub Enterprise Server 上的活动。 自动检查更改或轮询将对实例的性能和可扩展性产生不利影响。 有关详细信息,请参阅“关于 web 挂钩”。
有关监视 GitHub Enterprise Server 的容量和性能的详细信息,请参阅“监视实例”。
您可以增加实例的 CPU 或内存资源。 有关详细信息,请参阅“增加 CPU 或内存资源”。
下载 GitHub Enterprise Server 映像
-
下载许可。 有关详细信息,请参阅“下载 GitHub Enterprise 许可证”。
-
导航到要用于新实例的映像。
- 导航到发行说明。
- 在右侧边栏中,单击要下载的版本。
- 单击“下载 GitHub Enterprise Server X.X.X”。
-
在“GitHub 本地”下,选择“选择虚拟机监控程序”下拉菜单,然后单击“OpenStack KVM (QCOW2)”。
-
单击“下载 OpenStack KVM (QCOW2)”。
创建 GitHub Enterprise Server 实例
要创建实例,需要将 GitHub Enterprise Server 映像导入虚拟机,并为实例数据附加额外的存储卷。 有关详细信息,请参阅“硬件注意事项”。
-
在 OpenStack Horizon 中,上传您下载的 GitHub Enterprise Server 映像。 有关说明,请参阅 OpenStack 指南上传和管理映像的“上传映像”部分。
-
创建新虚拟磁盘以用作实例数据的附加存储卷,并根据您的用户许可数配置大小。 如果重用现有磁盘,请确保磁盘为空且没有分区。 有关说明,请参阅 OpenStack 指南“创建和管理卷”。
-
创建安全组,并为下表中的各个端口添加新的安全组规则。 有关说明,请参阅 OpenStack 指南为实例配置访问和安全性。
端口 服务 说明 22 SSH Git over SSH 访问。 支持克隆、获取和推送操作到公共/私有仓库。 25 SMTP 支持加密 (STARTTLS) 的 SMTP。 80 HTTP Web 应用程序访问。 当 SSL 启用时,所有请求都会重定向到 HTTPS 端口。 122 SSH 实例 shell 访问。 默认 SSH 端口 (22) 专用于应用程序 git+ssh 网络流量。 161/UDP SNMP 为网络监视协议操作所需。 443 HTTPS Web 应用程序和 Git over HTTPS 访问。 1194/UDP VPN 采用高可用性配置的安全复制网络隧道。 使用 WireGuard 进行加密。 8080 HTTP 基于纯文本 Web 的 管理控制台。 除非手动禁用 SSL,否则不需要。 8443 HTTPS 基于安全 Web 的 管理控制台。 进行基本安装和配置时需要。 9418 Git 简单的 Git 协议端口。 仅克隆和获取操作到公共仓库。 未加密的网络通信。 如果在实例上启用了私有模式,则仅当您也启用了匿名 Git 读取访问时才需要打开此端口。 有关详细信息,请参阅“在企业中实施仓库管理策略”。 -
也可以将浮动 IP 关联到实例。 根据 OpenStack 设置,您可能需要将浮动 IP 分配给项目并将其关联到实例。 请联系您的系统管理员以确定您是否属于这种情况。 有关详细信息,请参阅 OpenStack 文档中的将浮动 IP 地址分配给实例。
-
使用在前几步创建的映像、数据卷和安全组启动 你的 GitHub Enterprise Server 实例。 有关说明,请参阅 OpenStack 指南启动和管理实例。
配置 GitHub Enterprise Server 实例
若要配置实例,必须上传许可证文件,设置 根管理控制台 密码,配置实例的设置,然后重启实例。
警告****:若要防止攻击者破坏新实例,请确保亲自设置 root 管理控制台 密码并尽快创建首个用户。
- 复制虚拟机的公共 DNS 名称,然后将其粘贴到 web 浏览器中。
- 在提示时上传许可文件并设置管理控制台密码。 有关详细信息,请参阅“管理 GitHub Enterprise 的许可证”。
- 在 管理控制台 中,配置并保存所需的设置。 有关详细信息,请参阅“配置 GitHub Enterprise”。
- 实例将自动重启。
- 单击“访问实例”。