Из вашего конвейерного вывода я вижу, что все ваши этапы выполняются на главном узле Jenkins (где gcloud по умолчанию недоступен), что не так, как вы ожидаете на динамически создаваемом модуле jenkins-slave Pod в кластере Kubernetes.
Чтобы быстро решить проблему, просто явно настройте шаблон Pod в коде конвейера Jenkins. Вот пример шаблона Pod, включающего контейнер 'gcloud':
def label = "gcloud-command-${UUID.randomUUID().toString()}"
podTemplate(label: label, yaml: """
apiVersion: v1
kind: Pod
spec:
containers:
- name: gcloud
image: gcr.io/cloud-builders/gcloud
command:
- cat
tty: true
"""
) {
node(label) {
stage('Test - Execution of gcloud command') {
container('gcloud') {
sh "gcloud compute zones --help"
}
}
}
}
Выход задания:
Running on jenkins-slave-33v1t-04zwp in /home/jenkins/workspace/run-jenkins-slave-on-k8s
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Test - Execution of gcloud command) (Test - Execution of gcloud command)
[Pipeline] container
[Pipeline] {
[Pipeline] sh
+ gcloud compute zones --help
NAME
gcloud compute zones - list Google Compute Engine zones
SYNOPSIS
gcloud compute zones COMMAND [GCLOUD_WIDE_FLAG ...]
DESCRIPTION
List Google Compute Engine zones.
GCLOUD WIDE FLAGS
These flags are available to all commands: --account, --configuration,
--flags-file, --flatten, --format, --help, --impersonate-service-account,
--log-http, --project, --quiet, --trace-token, --user-output-enabled,
--verbosity. Run $ gcloud help for details.
COMMANDS
COMMAND is one of the following:
describe
Describe a Google Compute Engine zone.
list
List Google Compute Engine zones.
NOTES
These variants are also available:
$ gcloud alpha compute zones
$ gcloud beta compute zones
[Pipeline] }
[Pipeline] // container
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] }
[Pipeline] // podTemplate
[Pipeline] End of Pipeline
Finished: SUCCESS
Проверьте, правильно ли настроен плагин Jenkins Kubernetes, особенно часть конфигурации, относящейся к шаблону Pod Kubernetes, как описано здесь .