搜索

6.3. 构建故障排除

download PDF

由 Build manager 启动的 Builder 实例是临时的。这意味着,Red Hat Quay 会在超时或失败时关闭,或者 control plane (EC2/K8s)收集的垃圾回收。要获取构建日志,您必须在构建运行时这样做。

6.3.1. DEBUG config 标志

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

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

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

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

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

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

6.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.