Spring Cloud Data Flow: не удается запустить программу «Докер» - PullRequest
0 голосов
/ 19 октября 2018

Я хочу развернуть приложения Spring Boot с использованием потоков Kinesis в кластере Kubernetes на AWS.

Я использовал kops в экземпляре AWS EC2 (Amazon Linux), чтобы создать мой кластер и развернуть его, используя terraform .

Я установил Spring Cloud Flow Data для Kubernetes, используя диаграмму Helm .Все мои модули запущены и работают, и я могу получить доступ к интерфейсу Spring Cloud Data Flow, чтобы зарегистрировать мои закрепленные приложения.Я использую репозитории ECR для загрузки своих изображений Docker.

Когда я хочу развернуть поток (состоящий из источника времени и приемника журнала), появляется большое приятное красное сообщение об ошибке.Я проверил журнал модуля Skipper , и у меня появляется следующее сообщение об ошибке, начиная с:

org.springframework.cloud.skipper.SkipperException: Could not install AppDeployRequest

и заканчивая:

Caused by: java.io.IOException: Cannot run program "docker" (in directory "/tmp/spring-cloud-deployer-5769885450333766520/time-log-kinesis-stream-1539963209716/time-log-kinesis-stream.log-sink-kinesis-app-v1"): error=2, No such file or directory
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048) ~[na:1.8.0_111-internal]
        at org.springframework.cloud.deployer.spi.local.LocalAppDeployer$AppInstance.start(LocalAppDeployer.java:386) ~[spring-cloud-deployer-local-1.3.7.RELEASE.jar!/:1.3.7.RELEASE]
        at org.springframework.cloud.deployer.spi.local.LocalAppDeployer$AppInstance.start(LocalAppDeployer.java:414) ~[spring-cloud-deployer-local-1.3.7.RELEASE.jar!/:1.3.7.RELEASE]
        at org.springframework.cloud.deployer.spi.local.LocalAppDeployer$AppInstance.access$200(LocalAppDeployer.java:296) ~[spring-cloud-deployer-local-1.3.7.RELEASE.jar!/:1.3.7.RELEASE]
        at org.springframework.cloud.deployer.spi.local.LocalAppDeployer.deploy(LocalAppDeployer.java:199) ~[spring-cloud-deployer-local-1.3.7.RELEASE.jar!/:1.3.7.RELEASE]
        ... 54 common frames omitted
Caused by: java.io.IOException: error=2, No such file or directory
        at java.lang.UNIXProcess.forkAndExec(Native Method) ~[na:1.8.0_111-internal]
        at java.lang.UNIXProcess.<init>(UNIXProcess.java:247) ~[na:1.8.0_111-internal]
        at java.lang.ProcessImpl.start(ProcessImpl.java:134) ~[na:1.8.0_111-internal]
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029) ~[na:1.8.0_111-internal]
        ... 58 common frames omitted

У меня уже было этоошибка при попытке развернуть на локальном кластере k8s в Windows 10, и я подумал, что это связано с платформой Win10.

Я использую spring-cloud-dataflow-server-kubernetes в версии 1.6.2.RELEASE .

У меня действительно нет никаких подсказок, почему эта ошибка появляется.Спасибо!

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Я нашел, где была проблема.Плохо, проблема всегда между клавиатурой и креслом!

Я хотел удалить весь процесс метрик в файле skipper-config.yaml и вставил опечатку в файл конфигурации.Переменная JSON env data.spring.application.json для запуска Skipper была недопустимой, поэтому DeployerInitializationService никогда не видел свойств, необходимых для добавления Kubernetes в репозиторий!

Теперь в журналах и в оболочке потока данных у меня естьdefault и учетные записи minikube.В любом случае спасибо за вашу помощь:)

0 голосов
/ 22 октября 2018

Похоже, что команда docker не найдена ProcessBuilder развертывателя SCDF local, когда он пытается запустить докер exec по этому пути:

/ tmp / spring-cloud-deployer-5769885450333766520 / time-log-kinesis-stream-1539963209716 / time-log-kinesis-stream.log-sink-kinesis-app-v1

SCDF устанавливает указанный путь в качестве рабочего каталога перед запуском *Команда 1008 * и, следовательно, docker, как ожидается, будут выполняться из этого местоположения.

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