11.3. 构建故障排除


Build Manager 启动的 Builder 实例是临时的。这意味着它们由 Red Hat Quay 在超时或失败时关闭,或由 control plane (EC2/K8s)收集垃圾回收。要获取构建日志,必须在构建运行时进行此操作。

11.3.1. DEBUG 配置标志

DEBUG 标志可以设置为 true,以防止在完成或失败后清理 Builder 实例。例如:

  EXECUTORS:
    - EXECUTOR: ec2
      DEBUG: true
      ...
    - EXECUTOR: kubernetes
      DEBUG: true
      ...

当设置为 true 时,debug 功能可防止构建节点在 quay-builder 服务完成或失败后关闭。它还可防止构建管理器通过终止 EC2 实例或删除 Kubernetes 作业来清理实例。这允许调试构建器节点问题。

不应在产品周期中设置调试。生命周期服务仍然存在;例如,实例仍然会在大约 2 小时后关闭。发生这种情况时,EC2 实例将终止,Kubernetes 作业已完成。

启用 debug 也会影响 ALLOWED_WORKER_COUNT,因为未确定的实例和作业仍计算为运行 worker 的总数。因此,如果达到 ALLOWED_WORKER_COUNT,则必须手动删除现有的 Builder worker,才能调度新的构建。

设置 DEBUG 也会影响 ALLOWED_WORKER_COUNT,因为未确定的实例/作业仍将计数到正在运行的 worker 的总数。这意味着,如果达到 ALLOWED_WORKER_COUNT,则需要手动删除现有的构建器 worker 才能调度新的构建。

11.3.2. OpenShift Container Platform 和 Kubernetes 构建故障排除

使用以下步骤对 OpenShift Container Platform Kubernetes 构建进行故障排除。

流程

  1. 输入以下命令在本地机器和使用 OpenShift Container Platform 集群或 Kubernetes 集群运行的 pod 之间创建端口转发隧道:

    $ oc port-forward <builder_pod> 9999:2222
  2. 使用指定的 SSH 密钥和端口建立到远程主机的 SSH 连接,例如:

    $ ssh -i /path/to/ssh/key/set/in/ssh_authorized_keys -p 9999 core@localhost
  3. 输入以下命令来获取 quay-builder 服务日志:

    $ systemctl status quay-builder
    $ journalctl -f -u quay-builder
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.