This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.6.5.4. Configuração da Google Cloud Platform
Um bucket de armazenamento da Google Cloud Platform (GCP) é configurado como um repositório de replicação para o Migration Toolkit for Containers (MTC).
Pré-requisitos
-
As ferramentas de CLI
gcloudegsutildevem estar instaladas. Para obter detalhes, consulte a documentação do Google Cloud. - O bucket de armazenamento da GCP deve estar acessível aos clusters de origem e de destino.
Se estiver usando o método de cópia de snapshots:
- Os clusters de origem e de destino devem estar na mesma região.
- Os clusters de origem e de destino devem ter a mesma classe de armazenamento.
- A classe de armazenamento deve ser compatível com snapshots.
Procedimento
Faça login na GCP:
gcloud auth login
$ gcloud auth loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow Defina a variável
BUCKET:BUCKET=<bucket>
$ BUCKET=<bucket>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Especifique o nome do seu bucket.
Crie o bucket de armazenamento:
gsutil mb gs://$BUCKET/
$ gsutil mb gs://$BUCKET/Copy to Clipboard Copied! Toggle word wrap Toggle overflow Defina a variável
PROJECT_IDdo seu projeto ativo:PROJECT_ID=$(gcloud config get-value project)
$ PROJECT_ID=$(gcloud config get-value project)Copy to Clipboard Copied! Toggle word wrap Toggle overflow Crie uma conta de serviço:
gcloud iam service-accounts create velero \ --display-name "Velero service account"$ gcloud iam service-accounts create velero \ --display-name "Velero service account"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Liste suas contas de serviços:
gcloud iam service-accounts list
$ gcloud iam service-accounts listCopy to Clipboard Copied! Toggle word wrap Toggle overflow Defina a variável
SERVICE_ACCOUNT_EMAILpara corresponder ao valor deemail:SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \ --filter="displayName:Velero service account" \ --format 'value(email)')$ SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \ --filter="displayName:Velero service account" \ --format 'value(email)')Copy to Clipboard Copied! Toggle word wrap Toggle overflow Anexe as políticas para dar ao usuário
veleroas permissões necessárias:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Crie a função personalizada
velero.server:gcloud iam roles create velero.server \ --project $PROJECT_ID \ --title "Velero Server" \ --permissions "$(IFS=","; echo "${ROLE_PERMISSIONS[*]}")"$ gcloud iam roles create velero.server \ --project $PROJECT_ID \ --title "Velero Server" \ --permissions "$(IFS=","; echo "${ROLE_PERMISSIONS[*]}")"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Adicione a associação da política de IAM ao projeto:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:$SERVICE_ACCOUNT_EMAIL \ --role projects/$PROJECT_ID/roles/velero.server$ gcloud projects add-iam-policy-binding $PROJECT_ID \ --member serviceAccount:$SERVICE_ACCOUNT_EMAIL \ --role projects/$PROJECT_ID/roles/velero.serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow Atualize a conta de serviço de IAM:
gsutil iam ch serviceAccount:$SERVICE_ACCOUNT_EMAIL:objectAdmin gs://${BUCKET}$ gsutil iam ch serviceAccount:$SERVICE_ACCOUNT_EMAIL:objectAdmin gs://${BUCKET}Copy to Clipboard Copied! Toggle word wrap Toggle overflow Salve as chaves da conta de serviço de IAM no arquivo
credentials-velerono diretório atual:gcloud iam service-accounts keys create credentials-velero \ --iam-account $SERVICE_ACCOUNT_EMAIL$ gcloud iam service-accounts keys create credentials-velero \ --iam-account $SERVICE_ACCOUNT_EMAILCopy to Clipboard Copied! Toggle word wrap Toggle overflow O arquivo
credentials-veleroé usado para adicionar a GCP como um repositório de replicação.