gcloud cli не может создать проект - указанный вами идентификатор проекта уже используется другим проектом
Я пытаюсь настроить Terraform для использования с GCP, и у меня возникают проблемы при создании нового проекта из gcloud cli: Terraform Lab
Я использую команду
gcloud projects create testproject
Ошибка, которую я получаю снова и снова:
ERROR: (gcloud.projects.create) Project creation failed. The project ID you specified is already in use by another project. Please try an alternative ID.
Вот что я сделал до сих пор:
- Я создал "организацию" и пользователя в облачной идентификации
- Войдите в консоль GCP в браузере с пользователем, которого я создал
- Пользователь имеет роль "Администратор организации"
- Используя Cloud Shell или gcloud, настроенный на моем домашнем компьютере, я не могу создать новый проект. Я могу успешно выполнять такие вещи, как "список проектов gcloud" и "список организаций gcloud" в обоих случаях (облачная оболочка и локальная установка gcloud)
- Я пробовал это с разными именами идентификаторов проектов, которые соответствуют требованиям формата (например, 6-30 символов, строчные буквы и т. Д.). Я также могу подтвердить, что идентификаторы проекта не существуют.
- Однако я могу успешно создавать проекты с помощью веб-консоли GCP ( https://console.cloud.google.com/) (используя ту же учетную запись IAM, настроенную в gcloud cli)
- Я попробовал "gcloud init" несколько раз, чтобы убедиться, что я использую правильную учетную запись IAM, на всякий случай.
Вот ошибка, которую я получаю, когда пытаюсь создать новый проект с помощью команды "gcloud init":
Enter a Project ID. Note that a Project ID CANNOT be changed later.
Project IDs must be 6-30 characters (lowercase ASCII, digits, or
hyphens) in length and start with a lowercase letter. vincetest
WARNING: Project creation failed: HttpError accessing
<https://cloudresourcemanager.googleapis.com/v1/projects?alt=json>:
response: <{'status': '409', 'content-length': '268', 'x-xss
-protection': '1; mode=block', 'x-content-type-options': 'nosniff',
'transfer-encoding': 'chunked', 'vary': 'Origin, X-Origin, Referer',
'server': 'ESF', '-content-encoding': 'gzip',
'cache-control': 'private', 'date': 'Fri, 28 Sep 2018 18:38:11 GMT',
'x-frame-options': 'SAMEORIGIN', 'content-type': 'application/json;
charset=UTF-8'}>, content <{
"error": {
"code": 409,
"message": "Requested entity already exists",
"status": "ALREADY_EXISTS",
"details": [
{
"@type": "type.googleapis.com/google.rpc.ResourceInfo",
"resourceName": "projects/vincetest"
}
]
}
}
>
Создание проекта из консоли веб-страницы работало нормально.
3 ответа
Идентификаторы проекта уникальны для всех проектов. Это означает, что если у какого-либо пользователя был проект с таким идентификатором, вы не можете его использовать. testproject
довольно часто, так что не удивительно, что это уже занято.
Попробуйте более уникальный идентификатор. Одним из распространенных методов является использование имени вашей организации в качестве префикса.
Облако Google собирает все проекты в мире, связанные с GCP(облачная платформа Google)
Таким образом, вы должны создать проект с уникальным идентификатором.
Вот еще одна ссылка с дополнительной информацией о создании проектов. Подробно о том, как это сделать в консоли, gcloud, API и Python.
Еще одна проблема: убедитесь, что вы используете правильную учетную запись при вызове команд:
gcloud auth list
Если вы пытаетесь проверить существование проекта с помощью:
gcloud projects describe project-name
прежде чем пытаться создать его, как в этом посте. Проблема заключается в том, что если у вас нет прав на нее, вы получаете такую же ошибку, если она существует или нет.
User [user@domain.tld] does not have permission to access project [project-name] (or it may not exist): User is not authorized.
Я даже пытался создать новый проект с тем же именем, что и проект в другой несвязанной организации. Ключ, кажется, состоит в том, чтобы добавить что-нибудь буквенное или числовое, чтобы сделать его отличным.
Надеюсь, это поможет.
Чтобы настроить проект Cloud Platform с помощью Cloudshell, используйте: gcloud config set project [PROJECT_ID]
заменив [PROJECT_ID] названием вашего проекта.
Тогда ваш CLI будет выглядеть как
> admin_@cloudshell:~/underperformance_notifications (PROJECT_ID)$
Я думаю, что я понял это.
Идентификатор проекта должен сопровождаться некоторыми номерами:
gcloud projects create tf-admin-001 --name tf-admin --organization xxxx --set-as-default
Geez. Здесь конкретно так не сказано: gcloud docs