Как запустить конвейер SAP Cloud SDK в Куберне - PullRequest
1 голос
/ 10 июля 2019

В настоящее время я пытаюсь настроить SAP Cloud SDK в кластере Kubernetes, используя учебное руководство, найденное здесь:

https://blogs.sap.com/2018/09/26/autoscaling-of-sap-s4hana-cloud-sdk-continuous-delivery-toolkit-on-kubernetes/

Настройка работает нормально, и я могу настроитьи начать конвейер.Он также появляется и успешно подключается к новому POD, работающему в качестве агента.Однако на этапе чистой установки mvn выполнение контейнера выполняется на POD, но это по какой-то неизвестной причине не удается.

Я следовал советам по устранению неполадок в руководстве, особенно проверяя соединение с кластером Kubernetes черезтест Jenkinsfile, но он проходит успешно и, похоже, не является проблемой.Я также попытался проверить журналы контейнера container-exec на POD, но ничего не возвращается (для контейнера jnlp я получаю журнал, показывающий успешное соединение).

В конвейере сборки следующие операторы журналавыдаются:

16:44:02  --- Begin library step of: dockerExecute ---
expected to call com.sap.piper.analytics.Telemetry$_getInstance_closure1.call but wound up catching com.sap.piper.analytics.Telemetry.piperOsDefaultReporting; see: https://jenkins.io/redirect/pipeline-cps-method-mismatches/
[Pipeline] timeout
16:44:02  Timeout set to expire in 10 sec
[Pipeline] {
[Pipeline] httpRequest
[Pipeline] }
[Pipeline] // timeout
[Pipeline] echo
16:44:02  --- Begin library step of: dockerExecuteOnKubernetes ---
expected to call com.sap.piper.analytics.Telemetry$_getInstance_closure1.call but wound up catching com.sap.piper.analytics.Telemetry.piperOsDefaultReporting; see: https://jenkins.io/redirect/pipeline-cps-method-mismatches/
[Pipeline] timeout
16:44:02  Timeout set to expire in 10 sec
[Pipeline] {
[Pipeline] httpRequest
[Pipeline] }
[Pipeline] // timeout
[Pipeline] stash
16:44:05  Stashed 115 file(s)
[Pipeline] podTemplate
[Pipeline] {
[Pipeline] node
16:44:20  Still waiting to schedule task
16:44:20  ‘dynamic-agent-7eb57391-be34-4e11-b2e7-e4c3c79e8da1-3lnfp-lwv8q’ is offline
16:44:26  Agent dynamic-agent-7eb57391-be34-4e11-b2e7-e4c3c79e8da1-3lnfp-lwv8q is provisioned from template Kubernetes Pod Template
16:44:26  Agent specification [Kubernetes Pod Template] (7eb57391-be34-4e11-b2e7-e4c3c79e8da1): 
16:44:26  yaml:
16:44:26  {
16:44:26      "apiVersion": "v1",
16:44:26      "kind": "Pod",
16:44:26      "metadata": {
16:44:26          "lables": "7eb57391-be34-4e11-b2e7-e4c3c79e8da1"
16:44:26      },
16:44:26      "spec": {
16:44:26          "containers": [
16:44:26              {
16:44:26                  "name": "jnlp",
16:44:26                  "image": "s4sdk/jenkins-agent-k8s:latest"
16:44:26              },
16:44:26              {
16:44:26                  "name": "container-exec",
16:44:26                  "image": "maven:3.5-jdk-8-alpine",
16:44:26                  "imagePullPolicy": "IfNotPresent",
16:44:26                  "env": [
16:44:26                      
16:44:26                  ],
16:44:26                  "command": [
16:44:26                      "/usr/bin/tail",
16:44:26                      "-f",
16:44:26                      "/dev/null"
16:44:26                  ]
16:44:26              }
16:44:26          ],
16:44:26          "securityContext": {
16:44:26              
16:44:26          }
16:44:26      }
16:44:26  }
16:44:26  
16:44:27  Running on dynamic-agent-7eb57391-be34-4e11-b2e7-e4c3c79e8da1-3lnfp-lwv8q in /home/piper/workspace/address-manager_master
[Pipeline] {
[Pipeline] echo
16:44:27  ContainerConfig: [name:container-exec]
[Pipeline] container
[Pipeline] {
[Pipeline] echo
16:44:27  Unstash content: workspace-7eb57391-be34-4e11-b2e7-e4c3c79e8da1
[Pipeline] unstash
[Pipeline] echo
16:44:31  [INFO][dockerExecute] Executing inside a Kubernetes Pod
[Pipeline] sh
16:49:39  process apparently never started in /home/piper/workspace/address-manager_master@tmp/durable-bc02ec77
16:49:39  (running Jenkins temporarily with -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.LAUNCH_DIAGNOSTICS=true might make the problem clearer)
[Pipeline] sh
16:54:47  process apparently never started in /home/piper/workspace/address-manager_master@tmp/durable-1f05b1bc
16:54:47  (running Jenkins temporarily with -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.LAUNCH_DIAGNOSTICS=true might make the problem clearer)
[Pipeline] echo
16:54:47  script returned exit code -2
[Pipeline] }
[Pipeline] // container
[Pipeline] }
[Pipeline] // node
[Pipeline] }
[Pipeline] // podTemplate
[Pipeline] unstash
[Pipeline] echo
16:54:48  No such saved stash ‘container-7eb57391-be34-4e11-b2e7-e4c3c79e8da1’
[Pipeline] libraryResource
[Pipeline] echo
16:54:48  ----------------------------------------------------------
16:54:48  --- An error occurred in the library step: dockerExecuteOnKubernetes
16:54:48  ----------------------------------------------------------
16:54:48  
16:54:48  The following parameters were available to the step:
16:54:48  ***
16:54:48  [script:Script1@1f99bbb0, dockerImage:maven:3.5-jdk-8-alpine, dockerPullImage:true, stashContent:[]]
16:54:48  ***
16:54:48  
16:54:48  The error was:
16:54:48  ***
16:54:48  hudson.AbortException: script returned exit code -2
16:54:48  ***
16:54:48  
16:54:48  Further information:
16:54:48  * Documentation of library step dockerExecuteOnKubernetes: https://sap.github.io/jenkins-library/steps/dockerExecuteOnKubernetes/
16:54:48  * Source code of library step dockerExecuteOnKubernetes: https://github.com/SAP/jenkins-library/blob/master/vars/dockerExecuteOnKubernetes.groovy
16:54:48  * Library documentation: https://sap.github.io/jenkins-library/
16:54:48  * Library repository: https://github.com/SAP/jenkins-library/
16:54:48  
16:54:48  ----------------------------------------------------------
16:54:48  --- End library step of: dockerExecuteOnKubernetes ---

Я знаю, что эта функция помечена как экспериментальная в записи в блоге, но я смог успешно настроить такой сценарий несколько месяцев назад, поэтому что-то изменилось.Это все еще действительный сценарий для эксплуатации трубопровода?Будем очень благодарны за любые советы о том, как продолжить и сделать эту работу!

1 Ответ

1 голос
/ 15 июля 2019

Предоставленные изменения в комментариях сделали свое дело. Простое изменение pipe_config.yaml для использования другого изображения:

https://github.com/SAP/cloud-s4-sdk-book/blob/K8S/pipeline_config.yml#L5

После этого все прошло очень хорошо.

...