Unauthorize to run apply Kubernetes via gitLab-runner

128 Views Asked by At

I have set up deployment staage in .gitlab-ci.yml as here

deploy_internal_dev:
  stage: deploy_internal
  only:
    - master
  image: image
  environment:
    name: Dev
    url: url
  script:
    - pwd
    - whoami
    - kubectl config set-context --current --namespace=xxx
    - kubectl delete -f kube/kube-dev/deployment.yml --now --timeout=100s || { echo "gracefull delete failed" ; kubectl delete -f kube/kube-dev/deployment.yml --grace-period=0 --force ; } || true
    - kubectl apply -f kube/kube-dev
  tags:
    - development
  dependencies: [ ]

This worked well OK previously, but yesterday. The runner is no longer authorized to apply these commands.it says

Executing "step_script" stage of the job script
Using docker image sha256:88fd9345c2d8e3a95a9b1f792c3f330e7e529b7c217ee1d607ef9cb2a62288ca for docker.xxxx.net/xxx/kubectl-dev:1.0.0 with digest docker.xxx.net/xxxx/kubectl-dev@sha256:73548cd419ff37db648cb88285c4fc6dc1b3c9ab1addc7a050b2866e5f51bb78 ...
$ pwd
/builds/xxx-ckdu/xxx-api
$ whoami
root
$ kubectl config set-context --current --namespace=xxx
Context "kubernetes-admin@kubernetes" modified.
$ kubectl delete -f kube/kube-dev/deployment.yml --now --timeout=100s || { echo "gracefull delete failed" ; kubectl delete -f kube/kube-dev/deployment.yml --grace-period=0 --force ; } || true
error: unable to recognize "kube/kube-dev/deployment.yml": Unauthorized
gracefull delete failed
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
error: unable to recognize "kube/kube-dev/deployment.yml": Unauthorized
$ kubectl apply -f kube/kube-dev
error: You must be logged in to the server (the server has asked for the client to provide credentials)
ERROR: Job failed: exit code 1

but I could run these commands and apply k8s config via server access ( ssh ). I don't know what I'm missing here.

0

There are 0 best solutions below