启动JNPL时,Jenkins Kubernetes插件SSL错误

时间:2019-04-12 19:46:06

标签: ssl jenkins kubernetes jenkins-pipeline

我的系统是OKD 3.11,Jenkins最近在其自己的项目中运行。

我的公司使用内部CA权威。一切都由它签名。这本身就是一个痛苦,但是我试图让我的OKD集群与Jenkins一起构建项目。我让它创建了pod等等,但是当JNPL容器启动时,它会失败,令人沮丧

java.io.IOException: Failed to connect to https://jenkins.apps.lab.mycompany.com/tcpSlaveAgentListener/:  sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver.resolve(JnlpAgentEndpointResolver.java:197)
    at hudson.remoting.Engine.innerRun(Engine.java:523)
    at hudson.remoting.Engine.run(Engine.java:474)

我的问题是,如何将根CA注入Pod正在使用的jvm密钥库中?我真的希望您不要告诉我,我必须构建一个自定义docker映像。我真的希望有一种方法可以将愚蠢的东西导入到现有的东西中,以降低维护成本。

我的Jenkinsfile

pipeline {
  agent {
    kubernetes {
      label 'sample-app'
      yamlFile 'KubernetesBuildPod.yaml'
    }
  }
  options {
    skipDefaultCheckout(true)   // to avoid force checkouts on every node in a first stage
    disableConcurrentBuilds()   // to avoid concurrent builds on same nodes
  }
  stages {
    stage('Build') {
      steps {
        checkout scm
        sh 'ls -alh'
      }
    }
  }
}

和豆荚豆

apiVersion: v1
kind: Pod
metadata:
labels:
  component: ci
spec:
  # Use service account that can deploy to all namespaces
  serviceAccountName: jenkins
  containers:
    - name: gcc-cmake
      image: rikorose/gcc-cmake:latest
      command:
        - cat
      tty: true

和jenkins配置中的pod模板。

enter image description here

0 个答案:

没有答案