企业高可用性模式

Travis CI 企业版 3.x #

Travis CI 企业版 (TCIE) 3.x 通常运行在 **Kubernetes 集群** 中,并带有一个或多个 Worker。服务被分成集群中的多个 Pod。这使得开箱即用地实现高可用性设置,你可以根据自己的需要对其进行自定义。

在高可用性模式下安装平台 #

请确保使用冗余 Pod 为每个服务配置您的 Kubernetes 集群,并确保分配足够的资源和配置(见下文)来运行它,或者选择自行托管多个服务。您需要修改几个服务配置才能实现根据您要求调整的高可用性。

根据您的计划设置、部署、数据备份策略、用户数量和构建作业数量,选择其中一种选项。另请参阅有关 TCIE 3.x 的常规 安装说明

自行托管高可用性模式服务 #

您可能需要考虑自行托管

安装 TCIE 3.x 后,转到仪表板,Configs,并根据您的计划设置格式化自行托管选项。下面是 TCIE 3.x 中数据库访问的自行托管配置示例

Self-hosted config example

类似的配置选项适用于自行托管的日志、Insights、Redis 和 Rabbit MQ。这些服务的自行托管解决方案允许您根据自己的要求完全部署和配置其符合高可用性标准的设置。

利用 Kubernetes 集群中的服务 #

另一种选择是修改上述服务(PostgreSQL、Redis 和 RabbitMQ)的配置,同时考虑服务特定的详细信息。这些详细信息可以在这些工具的文档中找到。由于存在多种可能的变化,我们建议只提供一些一般性指南,这些指南应作为开发您特定高可用性配置的起点。

  • Postgresql:您可能希望开始考虑在服务负载均衡流量的背后启动主/备用服务 Pod。自动故障切换由您自行决定。

  • Redis:您可能希望考虑使用 Redis 主服务器、Sentinel 和副本的设置,并将 Sentinel 作为每个使用 Redis 的 Pod 的入口点。

  • RabbitMQ:RabbitMQ 有一个广泛的 集群指南,可以帮助您选择适合您情况的解决方案。

请注意,在基本安装中,日志被放置在每个 Pod 的 stdout 上,因此您仍然需要将它们重定向到通用日志目标位置,并使用您选择的工具进行存储。

Travis CI 企业版 2.x #

Travis CI 企业版 2.x 通常作为一个单一的容器实例运行,与一个或多个 Worker 通信,但我们也提供高可用性配置,因此您可以使用冗余运行您的安装。特别是对于拥有大量许可证的客户而言,高可用性模式是提高稳定性的有效方法。

如果您有兴趣或可能对在高可用性模式下运行 Travis CI 企业版感兴趣,请发送电子邮件至 enterprise@travis-ci.com,我们将与您讨论各种选择,并帮助您开始使用。

安装概述 #

平台安装类似于标准 企业安装,而 Worker 安装 则完全相同。但是,有一些额外的 系统先决条件,这意味着要以 HA 模式进行安装,您将需要以下内容

在高可用性模式下安装平台 #

HA 完全在企业平台实例上配置,但安装 HA 平台与安装标准平台非常相似。HA 的步骤如下。

  1. 联系 enterprise@travis-ci.com 以将您的企业许可证配置为 HA 模式。
  2. 使用标准安装步骤设置您的 平台实例
  3. 登录您的管理仪表板(在 https://<your-travis-ci-enterprise-domain>:8800
    1. 转到“设置”,然后单击“启用 HA”。
    2. 粘贴托管 PostgresRedisRabbitMQ 的 URL。连接字符串应采用以下格式
      postgres://user:password@url:port
      redis://user:password@url:port
      amqps://user:password@url:port
      
    3. 可选:上传 RabbitMQ 客户端证书(.crt)。这允许 RabbitMQ 使用 TLS。
    4. 滚动到页面底部。
    5. 单击“保存”,然后重启。

完全配置第一个平台实例后,您应该能够看到 UI 并请求构建 - 只有安装了 Worker,您的构建才能正常运行。试用您新的平台,如果您有任何问题,请 告知我们

添加更多平台安装 #

我们建议至少使用两个平台容器来实现 HA 模式,您可以像 安装第一个一样安装更多企业容器。

安装完第二个平台后,也需要配置其 HA 设置。转到您新平台容器的管理仪表板,地址为 https://<your-second-travis-ci-enterprise-domain>:8800,像您为 第一个平台安装配置一样进行配置。

在高可用性模式下安装 Worker(所有版本) #

Worker 安装与非 HA 安装相同,构建环境兼容性默认值也与每个企业版相同。查看有关企业版处理不同操作系统版本的文档(TCIE 2.xTCIE 3.x)以及有关安装的其他信息。您需要从自己的安装中检索您的 RabbitMQ 密码,而不是从 Travis CI 企业版管理仪表板检索。

联系企业支持 #

要联系我们,请发送邮件至 enterprise@travis-ci.com。如果可能,请尽可能多地包含以下信息

  • 问题描述 - 您观察到了什么?
  • 您已经尝试了哪些步骤?
  • 支持包(有关如何获取支持包的信息,请参见下表)
  • 来自所有 Worker 的日志文件(可以在 /var/log/upstart/travis-worker.log 中找到 - 请尽可能多地包含日志文件)。
  • 如果构建失败或出错,请提供构建日志的文本文件。
TCI 企业版版本 支持包
3.x 运行 kubectl kots admin-console -n [namespace] 以访问 https://#:8800 上的管理控制台
支持包生成说明在“故障排除”菜单中提供,或直接访问:https://#:8800/app/tci-enterprise-kots/troubleshoot

在选择后,将显示用于生成支持包的命令
如果您愿意,[请点击这里]() 获取手动生成支持包的命令。
2.x+ 您可以从 https://<your-travis-ci-enterprise-domain>:8800/support 获取支持包

自 2020 年第三季度发布公告以来,Travis CI 企业版的最新版本是 3.x 版本。版本 2.2 没有新的版本发布,自 2021 年 3 月以来,支持补丁也已限制。对于 Travis CI 2.x 的现有用户,我们强烈建议您升级到最新的 Travis CI 企业版 3.x。

您是否对设置进行了任何自定义?虽然我们可能可以看到一些信息(如主机名、IaaS 提供商和许可证到期时间),但还有很多其他信息我们无法看到,这可能会导致某些功能无法正常工作。因此,我们想请您在您的支持请求中也回答以下问题(如果适用)

  • 您正在使用多少台机器/您的 Kubernetes 集群设置是什么?
  • 您是否使用配置管理工具(Chef、Puppet)?
  • 哪些其他服务与 Travis CI 企业版交互?
  • 您与 Travis CI 企业版一起使用哪个版本控制系统 (VCS)(例如 github.com、GitHub Enterprise 或 BitBucket Cloud)?
  • 如果您使用的是 GitHub Enterprise,您使用的是哪个版本?

我们期待着帮助您!