kubernetes - Quarkus 部署到 mac 上 docker-desktop 的 kubernetes
问题描述
我正在尝试将一个简单的 Quarkus (2.3.1) 应用程序部署到由 docker-desktop 创建的本地 kubernetes 中,但它不起作用并在 jib 创建应用程序映像后引发以下异常。
在 application.properties 中进行了以下配置:
quarkus.container-image.build=true
quarkus.container-image.group=
quarkus.package.type=jar
# for docker-desktop
quarkus.kubernetes-client.trust-certs=true
quarkus.kubernetes.deployment-target=kubernetes
quarkus.kubernetes.deployment=true
这是我得到的例外
[ERROR] Failed to execute goal io.quarkus.platform:quarkus-maven-plugin:2.3.0.Final:build (default) on project kafka-consumer-producer: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR] [error]: Build step io.quarkus.kubernetes.deployment.KubernetesDeployerPrerequisite#prepare threw an exception: io.fabric8.kubernetes.client.KubernetesClientException: An error has occurred.
[ERROR] at io.fabric8.kubernetes.client.KubernetesClientException.launderThrowable(KubernetesClientException.java:64)
[ERROR] at io.fabric8.kubernetes.client.KubernetesClientException.launderThrowable(KubernetesClientException.java:53)
[ERROR] at io.fabric8.kubernetes.client.utils.HttpClientUtils.createHttpClient(HttpClientUtils.java:234)
[ERROR] at io.fabric8.kubernetes.client.utils.HttpClientUtils.createHttpClient(HttpClientUtils.java:66)
[ERROR] at io.fabric8.kubernetes.client.BaseClient.<init>(BaseClient.java:51)
[ERROR] at io.fabric8.kubernetes.client.BaseKubernetesClient.<init>(BaseKubernetesClient.java:154)
[ERROR] at io.fabric8.kubernetes.client.DefaultKubernetesClient.<init>(DefaultKubernetesClient.java:40)
[ERROR] at io.quarkus.kubernetes.client.runtime.KubernetesClientUtils.createClient(KubernetesClientUtils.java:93)
[ERROR] at io.quarkus.kubernetes.deployment.KubernetesDeploy.doCheck(KubernetesDeploy.java:67)
[ERROR] at io.quarkus.kubernetes.deployment.KubernetesDeploy.checkSilently(KubernetesDeploy.java:53)
[ERROR] at io.quarkus.kubernetes.deployment.KubernetesDeployerPrerequisite.prepare(KubernetesDeployerPrerequisite.java:22)
[ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[ERROR] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR] at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[ERROR] at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:820)
[ERROR] at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
[ERROR] at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
[ERROR] at java.base/java.lang.Thread.run(Thread.java:833)
[ERROR] at org.jboss.threads.JBossThread.run(JBossThread.java:501)
[ERROR] Caused by: java.security.UnrecoverableKeyException: Get Key failed: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
[ERROR] at java.base/sun.security.pkcs12.PKCS12KeyStore.engineGetKey(PKCS12KeyStore.java:450)
[ERROR] at java.base/sun.security.util.KeyStoreDelegator.engineGetKey(KeyStoreDelegator.java:91)
[ERROR] at java.base/java.security.KeyStore.getKey(KeyStore.java:1050)
[ERROR] at java.base/sun.security.ssl.SunX509KeyManagerImpl.<init>(SunX509KeyManagerImpl.java:141)
[ERROR] at java.base/sun.security.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:64)
[ERROR] at java.base/javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:275)
[ERROR] at io.fabric8.kubernetes.client.internal.SSLUtils.keyManagers(SSLUtils.java:130)
[ERROR] at io.fabric8.kubernetes.client.internal.SSLUtils.keyManagers(SSLUtils.java:122)
[ERROR] at io.fabric8.kubernetes.client.utils.HttpClientUtils.createHttpClient(HttpClientUtils.java:129)
[ERROR] ... 19 more
[ERROR] Caused by: javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
[ERROR] at java.base/com.sun.crypto.provider.CipherCore.unpad(CipherCore.java:859)
[ERROR] at java.base/com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:939)
[ERROR] at java.base/com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:735)
[ERROR] at java.base/com.sun.crypto.provider.PKCS12PBECipherCore.implDoFinal(PKCS12PBECipherCore.java:424)
[ERROR] at java.base/com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndDESede.engineDoFinal(PKCS12PBECipherCore.java:456)
[ERROR] at java.base/javax.crypto.Cipher.doFinal(Cipher.java:2205)
[ERROR] at java.base/sun.security.pkcs12.PKCS12KeyStore.lambda$engineGetKey$0(PKCS12KeyStore.java:371)
[ERROR] at java.base/sun.security.pkcs12.PKCS12KeyStore$RetryWithZero.run(PKCS12KeyStore.java:257)
[ERROR] at java.base/sun.security.pkcs12.PKCS12KeyStore.engineGetKey(PKCS12KeyStore.java:361)
[ERROR] ... 27 more
[ERROR]
[ERROR] [error]: Build step io.quarkus.kubernetes.client.deployment.KubernetesClientBuildStep#process threw an exception: io.fabric8.kubernetes.client.KubernetesClientException: An error has occurred.
[ERROR] at io.fabric8.kubernetes.client.KubernetesClientException.launderThrowable(KubernetesClientException.java:64)
[ERROR] at io.fabric8.kubernetes.client.KubernetesClientException.launderThrowable(KubernetesClientException.java:53)
[ERROR] at io.fabric8.kubernetes.client.utils.HttpClientUtils.createHttpClient(HttpClientUtils.java:234)
[ERROR] at io.fabric8.kubernetes.client.utils.HttpClientUtils.createHttpClient(HttpClientUtils.java:66)
[ERROR] at io.fabric8.kubernetes.client.BaseClient.<init>(BaseClient.java:51)
[ERROR] at io.fabric8.kubernetes.client.BaseKubernetesClient.<init>(BaseKubernetesClient.java:154)
[ERROR] at io.fabric8.kubernetes.client.DefaultKubernetesClient.<init>(DefaultKubernetesClient.java:40)
[ERROR] at io.quarkus.kubernetes.client.runtime.KubernetesClientUtils.createClient(KubernetesClientUtils.java:50)
[ERROR] at io.quarkus.kubernetes.client.deployment.KubernetesClientBuildStep.process(KubernetesClientBuildStep.java:16)
[ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[ERROR] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR] at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[ERROR] at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:820)
[ERROR] at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
[ERROR] at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
[ERROR] at java.base/java.lang.Thread.run(Thread.java:833)
[ERROR] at org.jboss.threads.JBossThread.run(JBossThread.java:501)
[ERROR] Caused by: java.security.UnrecoverableKeyException: Get Key failed: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
[ERROR] at java.base/sun.security.pkcs12.PKCS12KeyStore.engineGetKey(PKCS12KeyStore.java:450)
[ERROR] at java.base/sun.security.util.KeyStoreDelegator.engineGetKey(KeyStoreDelegator.java:91)
[ERROR] at java.base/java.security.KeyStore.getKey(KeyStore.java:1050)
[ERROR] at java.base/sun.security.ssl.SunX509KeyManagerImpl.<init>(SunX509KeyManagerImpl.java:141)
[ERROR] at java.base/sun.security.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:64)
[ERROR] at java.base/javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:275)
[ERROR] at io.fabric8.kubernetes.client.internal.SSLUtils.keyManagers(SSLUtils.java:130)
[ERROR] at io.fabric8.kubernetes.client.internal.SSLUtils.keyManagers(SSLUtils.java:122)
[ERROR] at io.fabric8.kubernetes.client.utils.HttpClientUtils.createHttpClient(HttpClientUtils.java:129)
[ERROR] ... 17 more
[ERROR] Caused by: javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
[ERROR] at java.base/com.sun.crypto.provider.CipherCore.unpad(CipherCore.java:859)
[ERROR] at java.base/com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:939)
[ERROR] at java.base/com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:735)
[ERROR] at java.base/com.sun.crypto.provider.PKCS12PBECipherCore.implDoFinal(PKCS12PBECipherCore.java:424)
[ERROR] at java.base/com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndDESede.engineDoFinal(PKCS12PBECipherCore.java:456)
[ERROR] at java.base/javax.crypto.Cipher.doFinal(Cipher.java:2205)
[ERROR] at java.base/sun.security.pkcs12.PKCS12KeyStore.lambda$engineGetKey$0(PKCS12KeyStore.java:371)
[ERROR] at java.base/sun.security.pkcs12.PKCS12KeyStore$RetryWithZero.run(PKCS12KeyStore.java:257)
[ERROR] at java.base/sun.security.pkcs12.PKCS12KeyStore.engineGetKey(PKCS12KeyStore.java:361)
[ERROR] ... 25 more
[ERROR] -> [Help 1]
我也尝试过用 kind 创建一个集群。
解决方案
推荐阅读
- pdf - 如何使用来自 angular/javascript 的 USB 令牌证书签署 pdf
- java - Java Tcp客户端消息对比
- tensorflow - 当通过“张量”损失时需要“磁带”
- skyve - 如何在 Bizlet preSave 中保存未自动保存的相关记录
- database - 将图像 url 存储在数据库中或在需要时为读取繁重的应用程序计算
- php - 如何在 Laravel 集合中使用多个 whereIn
- java - 在 Firebase 和 Android 开发方面遇到了非常困难的时期
- kubernetes - 在 Azure Kubernetes 中创建后端容器时出错
- javascript - 在线托管 node.js 脚本并从手机监控日志
- google-api - OAuth 与谷歌,但没有域名