Я пытаюсь запустить GitLab CI для частного экземпляра GitLab с Kubernetes в GCP, следуя этому инструкция.
Получил IP мастера Kubernetes с kubectl cluster-info
Затем я создал ServiceAccount с помощью kubectl, а также получил токен с помощью команды kubectl describe secret/SERVICEACCOUNT-XXXXX
Тогда я получил сертификат с
kubectl -o json get secret SERVICEACCOUNT-XXXXX | jq -r '.data."ca.crt"' | base64 -d - | tee ca.crt
Я вставил содержимое IP, токена и ca.crt в поля интеграции Kubernetes для команды «Добавить существующий кластер Kubernetes» в GitLab.
После этого я попытался установить Helm на GitLab, но получил ошибку
Something went wrong while installing Helm Tiller
Kubernetes error: Unauthorized
Не могли бы вы помочь мне узнать, как решить эти проблемы?
Вы можете попробовать добавить --v=10
в kubectl
команды, чтобы получить больше отладочных данных. Это сообщение об ошибке является распространенным и указывает на проблему аутентификации / авторизации, но вам необходимо знать, какие действия вам не разрешено выполнять. В частности, Tiller нужны широкие права для изменения почти всех ресурсов в кластере. — person Ragnar schedule 06.11.2018
Не 100% для gitlab CI, но если его построение внутри кластера, то, возможно, этот https://kubernetes.io/docs/reference/access-authn-authz/rbac/
RBAC включен по умолчанию в GKE, поэтому вам может потребоваться установить разрешения роли кластера для Gitlab, чтобы он мог запускать контейнеры.