некоторые места хранения резервных копий недействительны: хранилище резервных копий для расположения "по умолчанию" недействительно:
Установил велеро-клиент v1.1.0 от git.
Установил службу Velero с помощью следующей команды
velero install --provider aws --bucket velero --secret-file credentials-velero \
--use-volume-snapshots=false --use-restic --backup-location-config \
region=minio,s3ForcePathStyle="true",s3Url=http://minio.velero.svc:9000,publicUrl=http://<ip:node-port>
И я получаю следующую ошибку:
An error occurred: some backup storage locations are invalid: backup store for location "default" is invalid: rpc error: code = Unknown desc = AccessDenied: Access Denied
Хочу развернуть на k8s.
3 ответа
Эта проблема связана с тем, что мой ключ доступа к aws и секретный ключ недействительны. Позже я предоставил действительные полномочия. Итак, теперь он работает нормально.
Используемая вами команда должна быть заполнена фактической информацией из вашей среды, где:
--provider aws
указывает Velero использовать хранилище S3, которое работает локально, в моем случае--secret-file
это наши полномочия Minio--use-restic
flag гарантирует, что Velero знает, как развернуть restic дляpersistentvolume
резервные копии--s3Url
value - это адрес сервиса Minio, который разрешается только из кластера Kubernetes *--publicUrl
значение - это IP-адрес дляLoadBalancer
сервис, позволяющий получить доступ к пользовательскому интерфейсу Minio извне кластера:
Пример:
velero install --provider aws \
--bucket velero \
--secret-file credentials-velero \
--use-volume-snapshots=false \
--use-restic \
--backup-location-config region=minio,s3ForcePathStyle="true",s3Url=http://minio.velero.svc:9000,publicUrl=http://10.96.59.116:9000
Этот пример доступен с более подробной информацией в этом сообщении блога.
У меня тоже была похожая забота. Учетные данные были действительными, но политика IAM, назначенная пользователю velero , недействительна.
Вот как я это исправил:
IAM-политика:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:ListBucketMultipartUploads",
"s3:AbortMultipartUpload",
"s3:ListBucket",
"s3:DeleteObject",
"s3:GetBucketPolicy"
],
"Resource": "arn:aws:s3:::promise-gitlab-*"
}
]
}
Файл учетных данных
[default]
aws_access_key_id = AKIA2Q4N3HXBZ72AB752
aws_secret_access_key = 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
Вы можете проверить, чтобы убедиться, что учетные данные действительны, используя следующую команду:
aws s3 ls s3://s3-bucket-name --recursive --human-readable --summarize --profile default
Наконец, установите velero:
BUCKET=my-s3-bucket-name
REGION=eu-west-1
velero install \
--provider aws \
--plugins velero/velero-plugin-for-aws:latest \
--bucket $BUCKET \
--secret-file ./s3-credentials \
--backup-location-config region=$REGION \
--snapshot-location-config region=$REGION \
--use-restic