Назад | Перейти на главную страницу

Аккаунт облачной службы Google не найден

У меня есть инфраструктура, работающая в облаке Google с использованием GKE. Сегодня стручки прометея выселили и не смогли восстановить. После описания стручка я обнаружил эту ошибку.

  Warning  FailedMount         2m17s (x42 over 95m)  kubelet, gke-production-default-pool-44cd6cd6-h9rw  Unable to mount volumes for pod "prometheus-6d7c45fc6-5zd5d_kube-system(86c0258f-81ed-11e9-93ac-42010af00102)": timeout expired waiting for volumes to attach or mount for pod "kube-system"/"prometheus-6d7c45fc6-5zd5d". list of unmounted volumes=[storage]. list of unattached volumes=[config storage prometheus-token-875gs]
  Warning  FailedAttachVolume  69s (x47 over 96m)    attachdetach-controller                             AttachVolume.Attach failed for volume "pvc-ff226d8b-3814-11e8-a63c-42010af001b0" : googleapi: Error 400: EXTERNAL_RESOURCE_NOT_FOUND - The resource '469079048876-compute@developer.gserviceaccount.com' of type 'serviceAccount' was not found.

Дальнейшее расследование показало, что учетная запись службы не существует в службе IAM.

Согласно гуглу документация предположительно путем отключения и повторного включения службы api решает проблему.

Дело в том, что эта операция, скорее всего, удалит ресурсы кластера kubernetes, чего я не хочу.

Итак, вопросы:

  1. Есть ли другой способ решения этой проблемы? Если да, то как?
  2. Действительно ли эта операция удаляет все ресурсы?

Спасибо всем, что нашли время, чтобы задать этот вопрос.

По-видимому, я смог решить свою проблему с помощью восстановление учетная запись службы. Эта операция не поддерживается в gcloud cli, но поддерживается в API. Сделанный запрос был curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://iam.googleapis.com/v1/projects/-/serviceAccounts/114592978558849211522:undelete"