Настройка Spring Cloud Data Flow для сервера Kubernetes - PullRequest
0 голосов
/ 15 мая 2018

Я выполнил шаги по установке, используя kubectl, как указано на http://docs.spring.io/spring-cloud-dataflow-server-kubernetes/docs/current-SNAPSHOT/reference/htmlsingle/.

В то время как MySQL / Redis / Metrics Collector развертываются и работают нормально, при развертывании scdf-сервера я получаю исключение, только сследующая трассировка стека в логах.Я не могу найти какую-либо связанную с сертификатом / fabric8 конфигурацию в документации, какие-либо предложения, если я что-то пропустил?

кластер Kubernetes = v1.9.2

scdf-kubernetes = последний снимок

Журналы:

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

1 Ответ

0 голосов
/ 15 мая 2018

Неясно, развертываете ли вы его в кластер с поддержкой RBAC.Если вы действительно находитесь в кластере RBAC, вам необходимо добавить «роли» и «привязки ролей» перед развертыванием сервера SCDF.Вы заметите следующее примечание в справочном руководстве.

В последних выпусках kubernetes включен RBAC на api-сервере.Если на вашей целевой платформе включен RBAC, вы должны попросить администратора кластера создать роли и привязки к ним перед развертыванием сервера потока данных.Они связывают учетную запись службы потока данных с ролями, с которыми она должна работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...