Я использую Gcloud для запуска Prow (сервера непрерывной интеграции). Одна из моих задач создает виртуальную машину, выполняет несколько тестов, а затем удаляет этот экземпляр. Я использую сервисный аккаунт для создания ВМ, запуска тестов.
#!/bin/bash
set -o errexit
cleanup() {
gcloud compute instances delete kyma-integration-test-${RANDOM_ID}
}
gcloud config set project ...
gcloud auth activate-service-account --key-file ...
gcloud compute instances create <vm_name> \
--metadata enable-oslogin=TRUE \
--image debian-9-stretch-v20181009 \
--image-project debian-cloud --machine-type n1-standard-4 --boot-disk-size 20 \
trap cleanup exit
gcloud compute scp --strict-host-key-checking=no --quiet <script.sh> <vm_name>:~/<script.sh>
gcloud compute ssh --quiet <vm_name> -- ./<script.sh>
Через некоторое время я получил следующую ошибку:
ERROR: (gcloud.compute.scp) INVALID_ARGUMENT: Login profile size exceeds 32 KiB. Delete profile values to make additional space.
Действительно, для этой учетной записи службы команда describe
возвращает много данных, например ~ 70 записей в разделе sshPublicKeys
.
gcloud auth activate-service-account --key-file ...
gcloud compute os-login describe-profile
Большинство этих открытых ключей относятся к уже удаленным экземплярам виртуальных машин. Как выполнить очистку этого списка? Или можно вообще не хранить эти открытые ключи?