Я запускаю kubectl version
в CI Gitlab с gitlab-runner
пользователем на сервере сборки. Не удается выполнить задание CI, но выполнить это успешно в оболочке узла с тем же пользователем.
У меня есть это задание в gitlab-ci.yml
:
deploy:
stage: deploy
environment: staging
script:
- whoami
- kubectl version
Сбой при следующей ошибке:
$ whoami
15 gitlab-runner
16 $ kubectl version
17 Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:20:10Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}
18 error: You must be logged in to the server (the server has asked for the client to provide credentials)
22 ERROR: Job failed: exit status 1
kubectl version
в оболочке сервера сборки, используя gitlab-runner
user:
admin@BuildServer:~$ sudo -u gitlab-runner kubectl version
Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0", GitCommit:"70132b0f130acc0bed193d9ba59dd186f0e634cf", GitTreeState:"clean", BuildDate:"2019-12-07T21:20:10Z", GoVersion:"go1.13.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.3", GitCommit:"b3cbbae08ec52a7fc73d334838e18d17e8512749", GitTreeState:"clean", BuildDate:"2019-11-13T11:13:49Z", GoVersion:"go1.12.12", Compiler:"gc", Platform:"linux/amd64"}
Он отлично работает в других проектах CI. Похоже, что сервис сборки в задании CI этого проекта не может найти /home/gitlab-runner/.kube/config
. Но я думаю, что когда задание выполняется с тем же пользователем gitlab-runner
, оно должно давать тот же результат, что и при локальном запуске с тем же пользователем.
Какой смысл мне не хватает?