GitLab CI/CD中Kaniko构建DB2镜像遇SQL6037N超时错误求助
GitLab CI/CD Kaniko构建DB2镜像超时问题
我有一个CI/CD任务,需通过Kaniko从本地Harbor仓库构建DB2镜像并推送到该Harbor仓库,任务配置如下:
DB2构建任务
db2-build: extends: .kaniko_job tags: - kubernetes stage: container-build image: name: gcr.io/kaniko-project/executor:debug entrypoint: [""] variables: CONTEXT_DIR: "container/db2" CONTAINERFILE_PATH: "container/db2/Containerfile" IMAGE_PATH: "${CI_PROJECT_PATH}/db2" KANIKO_ARGS: "--verbosity=debug --build-arg PJ_USER_USERNAME=${PJ_USER_USERNAME} --build-arg PJ_USER_PASSWORD=${PJ_USER_PASSWORD} --build-arg WAS_VERSION=${WAS_VERSION} --build-arg FRAMEWORK_VERSION=${FRAMEWORK_VERSION} --build-arg CIOBS_VERSION=${CIOBS_VERSION} --build-arg RNRPP_HOSTNAME=${RNRPP_HOSTNAME} --build-arg CACLR_HOSTNAME=${CACLR_HOSTNAME}" needs: ["maven-build-test"] rules: - if: $task == "container-build" - if: $task == null && $MANUAL_CONTAINER_BUILD == "false" && $CI_COMMIT_BRANCH == "main"
继承的Kaniko任务
.kaniko_job: stage: container-build tags: - kubernetes image: name: arhs-harbor.arhs-developments.com/library/kaniko:1.9.1 entrypoint: [""] timeout: 1h variables: IMAGE_PATH: "" CONTEXT_DIR: "${CI_PROJECT_DIR}" KANIKO_ARGS: "" CONTAINERFILE_PATH: "$CONTEXT_DIR/Containerfile" script: - mkdir -p /kaniko/.docker - /kaniko/executor version - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json - echo "${KANIKO_ARGS}" - | /kaniko/executor $KANIKO_ARGS \ --ignore-path=/usr/bin/ping \ --ignore-path=/usr/bin/newgidmap \ --ignore-path=/usr/bin/newuidmap \ --ignore-path=/usr/sbin/arping \ --ignore-path=/usr/sbin/clockdiff \ --cache-copy-layers \ --cache \ --cache-ttl 24h \ --context $CONTEXT_DIR \ --dockerfile $CONTAINERFILE_PATH \ --destination $CI_REGISTRY/$IMAGE_PATH:$CI_COMMIT_SHA \ --destination $CI_REGISTRY/$IMAGE_PATH:$CI_COMMIT_REF_SLUG
错误现象
该任务此前运行正常,但近3周出现以下错误:
- db2stop force SQL6037N START or STOP DATABASE MANAGER timeout value was reached. error building image: error building stage: failed to execute command: waiting for process to exit: exit status 10
Cleaning up project directory and file based variables 00:01 ERROR:
Job failed: command terminated with exit code 10
此错误仅在GitLab Runner(Kubernetes执行器,以Pod运行)上出现,本地构建正常。
已尝试的解决方法
- 清理DB2缓存
- 更换Kaniko版本(包括debug版本)
以上方法均无效,且无法获取更多调试信息。
相关日志
- db2diag.log
- db2inst1.nfy
内容的提问来源于stack exchange,提问作者Dyn amo
相关产品推荐
相关产品推荐

