Я не смог найти в документации GitLab список разрешений, но я пытаюсь добавить разрешения по одному и скомпилировал список разрешений, необходимых для работы basi c.
Бегунок gitlab будет использовать учетную запись службы system:serviceaccount:gitlab-runner:default
, поэтому нам нужно создать роль и назначить эту роль этой учетной записи службы.
# cat <<EOF | kubectl create -f -
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: gitlab-runner
namespace: gitlab-runner
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["list", "get", "watch", "create", "delete"]
- apiGroups: [""]
resources: ["pods/exec"]
verbs: ["create"]
- apiGroups: [""]
resources: ["pods/log"]
verbs: ["get"]
# kubectl create rolebinding --namespace=gitlab-runner gitlab-runner-binding --role=gitlab-runne r --serviceaccount=gitlab-runner:default
С этой ролью, назначенной учетной записи службы, бегун GitLab сможет создавать, выполнять и удалять модуль, а также получать доступ к журналам.