故障现象

Starting Kubernetes deployment

Loading configuration: /home/jenkins/agent/workspace/testdevopscnkqw/pipeline1/manifest/deploy.yaml

ERROR: ERROR: java.lang.RuntimeException: io.kubernetes.client.openapi.ApiException: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

hudson.remoting.ProxyException: java.lang.RuntimeException: io.kubernetes.client.openapi.ApiException: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

	at com.microsoft.jenkins.kubernetes.wrapper.ResourceManager.handleApiExceptionExceptNotFound(ResourceManager.java:180)

	at com.microsoft.jenkins.kubernetes.wrapper.V1ResourceManager$DeploymentUpdater.getCurrentResource(V1ResourceManager.java:213)

	at com.microsoft.jenkins.kubernetes.wrapper.V1ResourceManager$DeploymentUpdater.getCurrentResource(V1ResourceManager.java:201)

	at com.microsoft.jenkins.kubernetes.wrapper.ResourceManager$ResourceUpdater.createOrApply(ResourceManager.java:93)

	at com.microsoft.jenkins.kubernetes.wrapper.KubernetesClientWrapper.handleResource(KubernetesClientWrapper.java:289)

	at com.microsoft.jenkins.kubernetes.wrapper.KubernetesClientWrapper.apply(KubernetesClientWrapper.java:256)

	at com.microsoft.jenkins.kubernetes.command.DeploymentCommand$DeploymentTask.doCall(DeploymentCommand.java:172)

	at com.microsoft.jenkins.kubernetes.command.DeploymentCommand$DeploymentTask.call(DeploymentCommand.java:124)

	at com.microsoft.jenkins.kubernetes.command.DeploymentCommand$DeploymentTask.call(DeploymentCommand.java:106)

	at hudson.remoting.UserRequest.perform(UserRequest.java:212)

	at hudson.remoting.UserRequest.perform(UserRequest.java:54)

	at hudson.remoting.Request$2.run(Request.java:369)

	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)

	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 hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:93)

	at java.lang.Thread.run(Thread.java:748)

	Suppressed: hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from 10.233.127.34/10.233.127.34:37516

		at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1743)

		at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:357)

		at hudson.remoting.Channel.call(Channel.java:957)

		at hudson.FilePath.act(FilePath.java:1160)

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

		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)

		... 1 more

Caused by: hudson.remoting.ProxyException: io.kubernetes.client.openapi.ApiException: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

	at io.kubernetes.client.openapi.ApiClient.execute(ApiClient.java:898)

	at io.kubernetes.client.openapi.apis.AppsV1Api.readNamespacedDeploymentWithHttpInfo(AppsV1Api.java:7299)

	at io.kubernetes.client.openapi.apis.AppsV1Api.readNamespacedDeployment(AppsV1Api.java:7275)

	at com.microsoft.jenkins.kubernetes.wrapper.V1ResourceManager$DeploymentUpdater.getCurrentResource(V1ResourceManager.java:210)

	... 16 more

Caused by: hudson.remoting.ProxyException: javax.net.ssl.SSLHandshakeException: Received fatal alert: bad_certificate

	at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)

	at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)

	at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2020)

	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1127)

	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367)

	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1395)

	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1379)

	at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.java:336)

	at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.java:300)

	at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:185)

	at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.java:224)

	at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.java:108)

	at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.java:88)

	at okhttp3.internal.connection.Transmitter.newExchange(Transmitter.java:169)

	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:41)

	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)

	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)

	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:94)

	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)

	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)

	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)

	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)

	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:88)

	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)

	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)

	at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:221)

	at okhttp3.RealCall.execute(RealCall.java:81)

	at io.kubernetes.client.openapi.ApiClient.execute(ApiClient.java:894)

	... 19 more

Api call failed with code 0, detailed message: null

Kubernetes deployment ended with HasError

解决过程

1. 删除configmap

kubectl -n kubesphere-controls-system delete cm kubeconfig-admin 

2. 删除demo-kubeconfig

 3. 删除ks-installer 对应pod

kubectl delete pod -n kubesphere-system ks-installer-78745765f5-s9bvx

等待重新初始化

日志查看方法

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f

 

4. 重新创建凭证demo-kubeconfig

解决

 

 

Logo

开源、云原生的融合云平台

更多推荐