Jenkins+Kubernetes多容器Pod镜像拉取异常排查求助
Jenkins多容器Pod代理镜像拉取异常排查求助
我们通过YAML(结合Helm)定义Jenkins代理容器的Pod配置,原有配置及另一组代理定义均可正常运行,但新增更多容器定义后,流水线执行时出现镜像拉取错误。
- 单独将报错镜像放入YAML测试可正常运行
- 逐个新增镜像时出现不同异常:
- 新增node16jdk17后,原有多个旧容器报错,移除该配置后恢复正常
- 新增node14jdk11时,仅该容器报错
已确认:YAML无长度限制、镜像标签正确、语法无误且无特殊字符,附上相关配置及最简流水线代码,请求排查异常原因。
当前Pod配置文件
apiVersion: v1 kind: Pod metadata: name: pod-yaml spec: containers: - name: maven image: maven:3.8.1-jdk-8 command: - sleep args: - 99d - name: python image: python:latest command: - sleep args: - 99d - name: node10jdk8 image: ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node10_jdk8:v4 command: - sleep args: - 99d - name: node10jdk11 image: ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node10_jdk11:v2 command: - sleep args: - 99d - name: node12jdk8 image: ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node12_jdk8:v2 command: - sleep args: - 99d - name: node12jdk11 image: ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node12_jdk11:v2 command: - sleep args: - 99d - name: node14jdk8 image: ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node14_jdk8:v2 command: - sleep args: - 99d - name: node16jdk11 image: ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node16_jdk11:v2 command: - sleep args: - 99d - name: node18jdk11 image: ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node18_jdk11:v2 command: - sleep args: - 99d - name: node20jdk11 image: ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node20_jdk11:v2 command: - sleep args: - 99d - name: jra-base image: ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_base:v3 command: - sleep args: - 99d
首次报错日志
14:26:47 Created Pod: kubernetes jenkins-dev/agents-jenkins-yaml-agents-test-128-tlk8h-tnw11-gf62j 14:26:53 ERROR: Unable to pull Docker image "ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_base:v3". Check if image tag name is spelled correctly. 14:26:53 ERROR: Unable to pull Docker image "ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node12_jdk11:v2". Check if image tag name is spelled correctly. 14:26:53 ERROR: Unable to pull Docker image "ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node12_jdk8:v2". Check if image tag name is spelled correctly. 14:26:53 ERROR: Unable to pull Docker image "ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node14_jdk8:v2". Check if image tag name is spelled correctly. 14:26:53 ERROR: Unable to pull Docker image "ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node16_jdk11:v2". Check if image tag name is spelled correctly. 14:26:53 ERROR: Unable to pull Docker image "ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node18_jdk11:v2". Check if image tag name is spelled correctly. 14:26:53 ERROR: Unable to pull Docker image "ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node20_jdk11:v2". Check if image tag name is spelled correctly.
新增node16jdk17配置片段
- name: node16jdk17 image: ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node16_jdk17:v2 command: - sleep args: - 99d
新增node14jdk11配置片段及报错日志
配置片段
- name: node14jdk11 image: ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node14_jdk11:v2 command: - sleep args: - 99d
对应报错日志
13:10:58 [Pipeline] node 13:11:08 Created Pod: kubernetes jenkins-dev/agents-jenkins-yaml-agents-test-125-93416-q6bzf-bqr63 13:11:12 ERROR: Unable to pull Docker image "ourartifacts.jfrog.io/docker-local/jenkins_remote_agent_node14_jdk11:v2". Check if image tag name is spelled correctly. 13:11:12 [Pipeline] // node
最简流水线代码
@Library('SCMLibraries@jenkins-pod-tests')_ // Load External Libraries def podDefs = libraryResource('./pod.yaml') pipeline { agent any environment { PATH = '/var/jenkins/.nvm/versions/node/v10.24.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin' NVM_DIR = '/var/jenkins/.nvm' NVM_INC = '/var/jenkins/.nvm/versions/node/v10.24.1/include/node' NVM_CD_FLAGS = '' NVM_BIN = '/var/jenkins/.nvm/versions/node/v10.24.1/bin' } stages { stage('Setup the Build') { agent { kubernetes { defaultContainer 'jnlp' yaml podDefs } } steps { container('node10jdk8') { // code goes here } } } } }
内容的提问来源于stack exchange,提问作者Jay Blanchard
相关产品推荐
相关产品推荐

