Deckhouse Kubernetes Platform в Google Cloud
Перед началом установки убедитесь в наличии квот облачного провайдера, необходимых для развертывания вашего кластера. Убедитесь, что у вас включен Compute Engine API.
На виртуальных машинах должен быть установлен пакет cloud-init
.
После запуска виртуальной машины должны быть запущены следующие службы, связанные с этим пакетом :
cloud-config.service
;cloud-final.service
;cloud-init.service
.
Чтобы Deckhouse Kubernetes Platform смог управлять ресурсами в облаке Google Cloud, необходимо создать сервисный аккаунт. Подробная инструкция по этому действию доступна в документации. Здесь мы представим краткую последовательность необходимых действий (выполните их на персональном компьютере):
Список необходимых ролей:
roles/compute.admin
roles/iam.serviceAccountUser
roles/networkmanagement.admin
Экспортируйте переменные окружения:
export PROJECT_ID=sandbox
export SERVICE_ACCOUNT_NAME=deckhouse
Выберите project:
Создайте service account:
gcloud iam service-accounts create $SERVICE_ACCOUNT_NAME
Прикрепите роли к service account:
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 --role=${role}; done
Выполните проверку ролей service account:
gcloud projects get-iam-policy ${PROJECT_ID} --flatten="bindings[].members" --format='table(bindings.role)' \
--filter="bindings.members:${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com"
Создайте service account key:
gcloud iam service-accounts keys create --iam-account ${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com \
~/service-account-key-${PROJECT_ID}-${SERVICE_ACCOUNT_NAME}.json