Я пытаюсь сообщить об ошибках Node.js в Google Error Reporting из одного из наших развертываний kubernetes, работающих в кластере GCP / GKE с RBAC.(т.е. разрешения, определенные в учетной записи службы, связанной с кластером)
const googleCloud = require('@google-cloud/error-reporting');
const googleCloudErrorReporting = new googleCloud.ErrorReporting();
googleCloudErrorReporting.report('[test] dummy error message');
Это работает только в определенных средах:
- работает при запуске на моем ноутбуке с использованием учетной записи службыс ролью «Запись ошибок»
- , которая работает при запуске в моем кластере как задание K8S, после добавления роли «Запись ошибок» к учетной записи службы этого кластера
- это вызывает следующееошибка при вызове из моего приложения Node.js, запущенного в одном из моих развертываний K8S:
ОШИБКА: @ google-cloud / error-сообщить: Обнаружена ошибка при попытке передать ошибку вAPI отчетов об ошибках Stackdriver.
Ошибка: у запроса недостаточно областей проверки подлинности.
Такое ощущение, что задание получило изменения разрешений учетной записи службы кластера, тогда как мое развертываниенет.
Я пытался заново создать развертывание, чтобы оно обновляло свой токен аутентификации, но ошибка все еще происходит ...
Есть идеи?
ОБНОВЛЕНИЕ : я закончил следуя совету Жереми Жиро : создайте учетную запись службы и привяжите ее к моему развертыванию.Это работает!