在 运行 任务之前大厅等待很长时间
Concourse pending for long time before running task
我有一个带有任务的 Concourse 管道,该任务使用存储在我们本地 Artifactory 服务器中的 Docker 图像。每次我启动 Pipeline 大约需要 5 分钟,直到任务最终完成 运行。日志如下所示:
我假设 Concourse 以某种方式检查 Docker 图片的更新版本。不幸的是,我没有机会进行调试,因为 Concourse 工作虚拟机上的所有日志文件都没有提供任何可用信息。
我的问题:
当 Concourse 显示 "preparing build" 并且状态为 "pending".
时,我怎么可能调试正在发生的事情
是否有机会避免 Concourse 检查更新版本的 Docker 图片?我用版本 latest
标记了 Docker 图像 - 这可能是个问题吗?
还有什么办法可以加快速度吗?
这里是我的管道和任务的详细配置:
pipeline.yml:
---
resources:
- name: concourse-image
type: docker-image
source:
repository: OUR_DOMAIN/subpath/concourse
username: ...
password: ...
insecure_registries:
- OUR_DOMAIN
# ...
jobs:
- name: deploy
public: true
plan:
- get: concourse-image
- task: create-manifest
image: concourse-image
file: concourse/tasks/create-manifest/task.yml
params:
# ...
task.yml:
---
platform: linux
inputs:
- name: git
- name: concourse
outputs:
- name: deployment-manifest
run:
path: concourse/tasks/create-and-upload-cloud-config/task.sh
出现此问题的原因是我们从内部 Docker 注册表中提取了 Docker 图像,该注册表位于 HTTP 上的 运行只要。 Concourse 尝试使用 HTTPS 拉取图像,大约花了 5 分钟,Concourse 才切换到 HTTP(这就是工作人员向我们展示的 tcpdump
)。
将资源配置更改为以下配置解决了问题:
resources:
- name: concourse-image
type: docker-image
source:
repository: OUR_SERVER:80/subpath/concourse
username: docker-readonly
password: docker-readonly
insecure_registries:
- OUR_SERVER:80
所以基本上是显式添加端口到repository
和insecure_registries
。
我有一个带有任务的 Concourse 管道,该任务使用存储在我们本地 Artifactory 服务器中的 Docker 图像。每次我启动 Pipeline 大约需要 5 分钟,直到任务最终完成 运行。日志如下所示:
我假设 Concourse 以某种方式检查 Docker 图片的更新版本。不幸的是,我没有机会进行调试,因为 Concourse 工作虚拟机上的所有日志文件都没有提供任何可用信息。
我的问题:
当 Concourse 显示 "preparing build" 并且状态为 "pending".
时,我怎么可能调试正在发生的事情
是否有机会避免 Concourse 检查更新版本的 Docker 图片?我用版本
latest
标记了 Docker 图像 - 这可能是个问题吗?还有什么办法可以加快速度吗?
这里是我的管道和任务的详细配置:
pipeline.yml:
---
resources:
- name: concourse-image
type: docker-image
source:
repository: OUR_DOMAIN/subpath/concourse
username: ...
password: ...
insecure_registries:
- OUR_DOMAIN
# ...
jobs:
- name: deploy
public: true
plan:
- get: concourse-image
- task: create-manifest
image: concourse-image
file: concourse/tasks/create-manifest/task.yml
params:
# ...
task.yml:
---
platform: linux
inputs:
- name: git
- name: concourse
outputs:
- name: deployment-manifest
run:
path: concourse/tasks/create-and-upload-cloud-config/task.sh
出现此问题的原因是我们从内部 Docker 注册表中提取了 Docker 图像,该注册表位于 HTTP 上的 运行只要。 Concourse 尝试使用 HTTPS 拉取图像,大约花了 5 分钟,Concourse 才切换到 HTTP(这就是工作人员向我们展示的 tcpdump
)。
将资源配置更改为以下配置解决了问题:
resources:
- name: concourse-image
type: docker-image
source:
repository: OUR_SERVER:80/subpath/concourse
username: docker-readonly
password: docker-readonly
insecure_registries:
- OUR_SERVER:80
所以基本上是显式添加端口到repository
和insecure_registries
。