Для того чтобы Deckhouse мог управлять ресурсами, в Google Cloud необходимо создать service account. Далее представлена краткая последовательность действий по созданию service account. Если вам необходима более подробная инструкция, вы можете найти ее в документации провайдера. | You need to create a service account so that Deckhouse can manage resources in the Google Cloud. Below is a brief sequence of steps to create a service account. If you need detailed instructions, you can find them in the provider’s documentation. |
|
|
Настройка через Google Cloud Console | Setup using Google Cloud Console |
Перейдите по ссылке, выберите проект и создайте новый service account (также можно выбрать уже существующий). | Follow this link, select your project and create a new service account or select an existing one. |
Созданному service account’у должны быть присвоены несколько необходимых ролей: | The account must be assigned several necessary roles: |
text Compute Admin Service Account User Network Management Admin | text Compute Admin Service Account User Network Management Admin |
Роли можно присвоить на этапе создания service account’а, либо изменить на этой странице. | You can add roles when creating a service account or edit them here. |
Чтобы получить | To create a |
Настройка через gcloud CLI | Setup using gcloud CLI |
Для настройки через интерфейс командной строки выполните следующие шаги: | To configure via the command line interface, follow these steps: |
|
|
shell export PROJECT_ID=sandbox export SERVICE_ACCOUNT_NAME=deckhouse | shell export PROJECT_ID=sandbox export SERVICE_ACCOUNT_NAME=deckhouse |
|
|
shell gcloud config set project $PROJECT_ID | shell gcloud config set project $PROJECT_ID |
|
|
shell gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME | shell gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME |
|
|
shell
for role in roles/compute.admin roles/iam.serviceAccountUser roles/networkmanagement.admin;
do gcloud projects add-iam-policy-binding ${PROJECT_ID} –member=serviceAccount:${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com | shell
for role in roles/compute.admin roles/iam.serviceAccountUser roles/networkmanagement.admin;
do gcloud projects add-iam-policy-binding ${PROJECT_ID} –member=serviceAccount:${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com |
Список необходимых ролей: | List of roles required: |
text roles/compute.admin roles/iam.serviceAccountUser roles/networkmanagement.admin | text roles/compute.admin roles/iam.serviceAccountUser roles/networkmanagement.admin |
|
|
shell
gcloud projects get-iam-policy ${PROJECT_ID} –flatten=”bindings[].members” –format=’table(bindings.role)’ | shell
gcloud projects get-iam-policy ${PROJECT_ID} –flatten=”bindings[].members” –format=’table(bindings.role)’ |
|
|
shell
gcloud iam service-accounts keys create –iam-account ${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com | shell
gcloud iam service-accounts keys create –iam-account ${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com |