Tekton 中 completed/failed 个任务的访问控制台

Access Console of completed/failed tasks in Tekton

只要任务由以下人员执行,我就可以登录到 taskrun pod:

kubectl exec $POD_NAME /bin/bash

但是,如果任务失败或完成。我无法通过 kubectl exec 命令登录,因为它声明“无法登录到已完成的任务”。

如果需要调试失败的任务,有什么方法可以附加到 Tekton 中 failed/completed 任务的控制台。

我 运行 在 minikube 环境中。

Tekton 任务是 Pods。当它们完成时,或当它们失败时:那个 pod 退出,这让你无法进入。

故障排除,您可以编辑您的任务,捕获错误并启动一些“睡眠”命令,这可能有助于解决问题。

或者,在不影响其他工作的情况下,我通常更愿意 re-create 与我失败的任务对应的 Pod。

$ kubectl get pods -n <ci-namespace> | grep <taskrun-name>
NAME
<tasksrun>-xxx-yyy
$ kubectl get pods -n <ci-namespace <taskrun>-xxx-yyy -o yaml >check.yaml

然后,编辑该 yaml 文件。删除所有元数据,除非 name/namespace。更改 metadata.name,确保您的广告连播有自己的名称。删除状态块。在需要的地方捕捉失败并添加你的 'sleep'。然后 kubectl 创建该文件并输入你的 pod。

根据您要排除的问题,将一些 PVC 工作区添加到您的任务中可能更容易,确保您的工作目录、日志、构建的资产...最终位于您可以从中挂载的某个卷中一个单独的容器,如果您需要对其进行故障排除。

或者:如果你足够快,就 re-run 你的 pipeline/task,在它启动时进入它的容器,并在它失败之前尝试解决它。​​