创建部署问题时,请参考下面模板,你提供的信息越多,越容易及时获得解答。
发帖前请点击 发表主题 右边的 预览(👀) 按钮,确保帖子格式正确。
你只花一分钟创建的问题,不能指望别人花上半个小时给你解答。

操作系统信息
物理机,Centos7

Kubernetes版本信息
v1.19.12。单节点

容器运行时
使用 docker,19.03.13

KubeSphere版本信息
v3.1.1。离线安装。已有K8s安装

问题是什么

[Pipeline] kubernetesDeploy

Starting Kubernetes deployment

ERROR: ERROR: Cannot find kubeconfig credentials with id admin-kubeconfig

java.lang.IllegalArgumentException: Cannot find kubeconfig credentials with id admin-kubeconfig
at com.microsoft.jenkins.kubernetes.KubernetesDeployContext.clientFactory(KubernetesDeployContext.java:273)

at com.microsoft.jenkins.kubernetes.command.DeploymentCommand.execute(DeploymentCommand.java:58)

at com.microsoft.jenkins.kubernetes.command.DeploymentCommand.execute(DeploymentCommand.java:45)

at com.microsoft.jenkins.azurecommons.command.CommandService.runCommand(CommandService.java:88)

at com.microsoft.jenkins.azurecommons.command.CommandService.execute(CommandService.java:96)

at com.microsoft.jenkins.azurecommons.command.CommandService.executeCommands(CommandService.java:75)

at com.microsoft.jenkins.azurecommons.command.BaseCommandContext.executeCommands(BaseCommandContext.java:77)

at com.microsoft.jenkins.kubernetes.KubernetesDeploy.perform(KubernetesDeploy.java:42)

at com.microsoft.jenkins.azurecommons.command.SimpleBuildStepExecution.run(SimpleBuildStepExecution.java:54)

at com.microsoft.jenkins.azurecommons.command.SimpleBuildStepExecution.run(SimpleBuildStepExecution.java:35)

at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)
[Pipeline] }

[Pipeline] // stage

[Pipeline] }

[Pipeline] // withEnv

[Pipeline] }

[Pipeline] // withEnv

[Pipeline] }

[Pipeline] // node

[Pipeline] End of Pipeline

ERROR: Kubernetes deployment ended with HasError

Finished: FAILURE

  1. kubeconfig不论自动生成还是使用.kube/config,凭证页面均报错
  2. 任务部署时报找不到凭证异常
13 天 后

stage(‘deploy immediately’) {

        when{

            expression{

              return params.TAG =\~ /v.\*/

            }

        }

        steps {

            input(id: 'deploy-immediately', message: 'deploy immediately?')

            container ('go') {

                withCredentials([

                kubeconfigFile(

                    credentialsId: env.KUBECONFIG_CREDENTIAL_ID,

                    variable: 'KUBECONFIG')

                ]) {

                sh 'envsubst < deploy/ks-apiserver.yml | kubectl apply -f -'

                }

            }

        }

    }

}

换成这种写法后,仍然找不到kubeconfig

实际已创建kubeconfig凭证

这是没有办法的办法:去你部署的服务器上,把【/root/.kube/config】这个文件的信息拿出来,注意这个文件是你这个集群的最高权限,不要被泄露了。你也可以自己创建一个config文件:参考基于tls的rbac授权或者是基于token的rbac授权。之后把相关信息复制过去就行。

    @zipee

    值得注意的是 admin-kubeconfig 的同步状态为:同步中…

    建议检查一下 ks-controller-manager 的日志。

    Lcz 他现在面临的问题是 admin-kubeconfig credential 没有同步到 Jenkins 上,所以运行流水线的时候找不到对应的 credential。

    • Lcz 回复了此帖

      johnniang 就是说那个kubeconfig文件没有被jenkins-agent pod识别或者是挂载吧。。。我的意思就是直接把集群的kubeconfig【也可以在kubesphere平台上拿一个kubeconfig文件出来】文件挂载到jenkins-agent的里面 这一步要登录jenkins网站,找到jenkins的podtemplate模板,里面有挂载路径的设置【也可以在kubesphere平台里面找到对应的yaml文件新增挂载路径】。

      1 个月 后

      最后是怎么解决的?我也遇到创建kube-config后打开报404 Not Found