启用 Google 服务并配置服务帐号

在开始迁移之前,您必须完成以下各部分中的步骤:

启用 Cloud SDK 和所需的服务

所有 Migrate for Anthos 用户都必须配置 Cloud SDK 并启用所需的 Google 服务。

准备 Cloud SDK

如需准备 gcloud,请执行以下操作:

  1. 安装并初始化 Cloud SDK
  2. 更新 Cloud SDK:
    gcloud components update
  3. 确保 Cloud SDK 有权访问您的数据和服务:
    gcloud auth login

    您的浏览器会打开一个新标签页,并提示您选择一个帐号。

  4. 对于本地安装,设置访问 Cloud Storage 存储分区所需的凭据。

    对于单个用户,请使用以下 gcloud 命令:

    gcloud auth application-default login

    您的浏览器会打开一个新标签页,并提示您选择一个帐号。

    或者,如果您使用服务帐号,请将 GOOGLE_APPLICATION_CREDENTIALS 环境变量设置为包含服务帐号密钥的 JSON 文件的路径:

    export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

启用必需服务

Migrate for Anthos 要求您启用以下 Google 服务:

名称 标题
servicemanagement.googleapis.com Service Management API
servicecontrol.googleapis.com Service Control API
cloudresourcemanager.googleapis.com Cloud Resource Manager API
compute.googleapis.com Compute Engine API
container.googleapis.com Kubernetes Engine API
containerregistry.googleapis.com Google Container Registry API
cloudbuild.googleapis.com Cloud Build API

如需确认已启用必需的服务,请运行以下命令:

gcloud services list

如果您没有看到列出的必需服务,请启用它们:

gcloud services enable servicemanagement.googleapis.com servicecontrol.googleapis.com cloudresourcemanager.googleapis.com compute.googleapis.com container.googleapis.com containerregistry.googleapis.com cloudbuild.googleapis.com

如需详细了解 gcloud 服务,请参阅 gcloud 服务

配置服务帐号

服务帐号是由应用或虚拟机 (VM) 实例(而非单个用户)使用的特殊帐号。应用使用服务帐号来执行已获授权的 API 调用

例如,Compute Engine 虚拟机可以作为服务帐号运行,该帐号可被授予访问其所需资源的权限。这样,服务帐号就是相应服务的标识,服务帐号的权限用于控制可以访问该服务的资源。

使用 Migrate for Anthos 时,您需要创建两个服务帐号:

使用服务帐号时的最佳做法

最佳做法是,在用于 Migrate for Anthos 的同一项目中创建一个单独的服务帐号。然后,只向该服务帐号分配执行必要操作所需的权限。这样一来,您可以限制与服务帐号相关联的权限。

创建用于访问 Container Registry 和 Cloud Storage 的服务帐号

创建具有 storage.admin 角色的服务帐号,并在安装 Migrate for Anthos 组件时传递该服务帐号:

  1. 创建 m4a-install 服务帐号:

    gcloud iam service-accounts create m4a-install \
     --project=PROJECT_ID
  2. storage.admin 角色授予服务帐号:

    gcloud projects add-iam-policy-binding PROJECT_ID  \
     --member="serviceAccount:m4a-install@PROJECT_ID.iam.gserviceaccount.com" \
     --role="roles/storage.admin"
  3. 下载服务帐号的密钥文件:

    gcloud iam service-accounts keys create m4a-install.json \
     --iam-account=m4a-install@PROJECT_ID.iam.gserviceaccount.com \
     --project=PROJECT_ID 

将服务帐号密钥下载为 JSON 文件后,您可以使用安装 Migrate for Anthos 中所述的过程在目标 Google Kubernetes Engine 集群上安装 Migrate for Anthos。

创建将 Compute Engine 用作迁移来源的服务帐号

如要将 Compute Engine 用作迁移来源,请创建一个具备 compute.viewercompute.storageAdmin 角色的服务帐号:

  1. 创建 m4a-ce-src 服务帐号:

    gcloud iam service-accounts create m4a-ce-src \
     --project=PROJECT_ID
  2. compute.viewer 角色授予服务帐号:

    gcloud projects add-iam-policy-binding PROJECT_ID  \
     --member="serviceAccount:m4a-ce-src@PROJECT_ID.iam.gserviceaccount.com" \
     --role="roles/compute.viewer"
  3. compute.storageAdmin 角色授予服务帐号:

    gcloud projects add-iam-policy-binding PROJECT_ID  \
     --member="serviceAccount:m4a-ce-src@PROJECT_ID.iam.gserviceaccount.com" \
     --role="roles/compute.storageAdmin"
  4. 下载服务帐号的密钥文件:

    gcloud iam service-accounts keys create m4a-ce-src.json \
     --iam-account=m4a-ce-src@PROJECT_ID.iam.gserviceaccount.com \
     --project=PROJECT_ID 

在将服务帐号密钥下载为 JSON 文件后,您可以创建用于迁移 Compute Engine 工作负载的来源。请参阅添加迁移来源

后续步骤