首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Kubernetes设置Spring Cloud数据流服务器

为Kubernetes设置Spring Cloud数据流服务器
EN

Stack Overflow用户
提问于 2018-05-16 02:41:39
回答 1查看 479关注 0票数 1

我按照http://docs.spring.io/spring-cloud-dataflow-server-kubernetes/docs/current-SNAPSHOT/reference/htmlsingle/上给出的使用kubectl的安装步骤操作。

虽然MySQL/ Redis/Metrics Collector部署和运行良好,但在部署scdf-server时,我得到一个异常,日志中只有以下堆栈跟踪。我在文档中找不到任何证书/fabric8 8相关的配置,如果我遗漏了什么,有什么建议吗?

Kubernetes集群= v1.9.2

scdf-kubernetes =最新快照

日志:

代码语言:javascript
复制
16:30:28.362 [main] DEBUG io.fabric8.kubernetes.client.Config - Trying to configure client from Kubernetes config...
16:30:28.374 [main] DEBUG io.fabric8.kubernetes.client.Config - Did not find Kubernetes config at: [/root/.kube/config]. Ignoring.
16:30:28.374 [main] DEBUG io.fabric8.kubernetes.client.Config - Trying to configure client from service account...
16:30:28.375 [main] DEBUG io.fabric8.kubernetes.client.Config - Found service account ca cert at: [/var/run/secrets/kubernetes.io/serviceaccount/ca.crt].
16:30:28.452 [main] DEBUG io.fabric8.kubernetes.client.Config - Found service account token at: [/var/run/secrets/kubernetes.io/serviceaccount/token].
16:30:28.452 [main] DEBUG io.fabric8.kubernetes.client.Config - Trying to configure client namespace from Kubernetes service account namespace path...
16:30:28.452 [main] DEBUG io.fabric8.kubernetes.client.Config - Found service account namespace at: [/var/run/secrets/kubernetes.io/serviceaccount/namespace].
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
Caused by: java.lang.IllegalArgumentException: Cannot instantiate interface org.springframework.context.ApplicationContextInitializer : org.springframework.cloud.kubernetes.profile.KubernetesApplicationContextInitializer
        at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java:413)
        at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:392)
        at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:383)
        at org.springframework.boot.SpringApplication.initialize(SpringApplication.java:249)
        at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:225)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)
        at org.springframework.cloud.dataflow.server.kubernetes.KubernetesDataFlowServer.main(KubernetesDataFlowServer.java:33)
        ... 8 more
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cloud.kubernetes.profile.KubernetesApplicationContextInitializer]: Constructor threw exception; nested exception is io.fabric8.kubernetes.client.KubernetesClientException: An error has occurred.
        at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:154)
        at org.springframework.boot.SpringApplication.createSpringFactoriesInstances(SpringApplication.java:409)
        ... 15 more
Caused by: io.fabric8.kubernetes.client.KubernetesClientException: An error has occurred.
        at io.fabric8.kubernetes.client.KubernetesClientException.launderThrowable(KubernetesClientException.java:62)
        at io.fabric8.kubernetes.client.KubernetesClientException.launderThrowable(KubernetesClientException.java:53)
        at io.fabric8.kubernetes.client.utils.HttpClientUtils.createHttpClient(HttpClientUtils.java:168)
        at io.fabric8.kubernetes.client.BaseClient.<init>(BaseClient.java:55)
        at io.fabric8.kubernetes.client.BaseClient.<init>(BaseClient.java:47)
        at io.fabric8.kubernetes.client.DefaultKubernetesClient.<init>(DefaultKubernetesClient.java:70)
        at org.springframework.cloud.kubernetes.profile.KubernetesApplicationContextInitializer.<init>(KubernetesApplicationContextInitializer.java:35)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142)
        ... 16 more
Caused by: java.security.cert.CertificateException: Could not parse certificate: java.io.IOException: Empty input
        at sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:110)
        at java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:339)
        at io.fabric8.kubernetes.client.internal.CertUtils.createTrustStore(CertUtils.java:93)
        at io.fabric8.kubernetes.client.internal.CertUtils.createTrustStore(CertUtils.java:71)
        at io.fabric8.kubernetes.client.internal.SSLUtils.trustManagers(SSLUtils.java:114)
        at io.fabric8.kubernetes.client.internal.SSLUtils.trustManagers(SSLUtils.java:93)
        at io.fabric8.kubernetes.client.utils.HttpClientUtils.createHttpClient(HttpClientUtils.java:63)
        ... 25 more
Caused by: java.io.IOException: Empty input
        at sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:106)
        ... 31 more
EN

回答 1

Stack Overflow用户

发布于 2018-05-16 03:01:33

目前还不清楚您是否将其部署到启用了RBAC的集群中。如果您确实在RBAC集群上,则必须在部署SCDF服务器之前添加“角色”和“角色绑定”。您会注意到参考指南中的以下说明。

最新版本的kubernetes在api服务器上启用了基于角色的访问控制。如果您的目标平台启用了RBAC,那么在部署数据流服务器之前,您必须让集群管理员为您创建角色和角色绑定。它们将数据流服务帐户与其运行所需的角色相关联。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50357188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档