简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

完成 Anthos 前提条件

提供者 kevin-hoke

现在,物理环境已设置完毕,您可以开始部署 Anthos 。首先,要部署解决方案并在部署后访问它,必须满足几个前提条件。在 Anthos 中将对其中每个步骤进行深入讨论 "《 GKE- 内部部署指南》"

要为在 VMware 上部署 Anthos 的环境做好准备,请完成以下步骤:

  1. 按照可用说明创建 Google Cloud 项目 "此处"

    注 您的组织可能已有用于此目的的项目。请咨询您的云管理团队,了解是否存在某个项目,并且该项目已配置为可访问 VMware 上的 Anthos 。所有与 Anthos 一起使用的项目都必须由 Google 列入白名单。这包括主用户帐户,其他团队成员以及稍后创建的访问服务帐户。
  2. 创建一个部署工作站,用于管理在 VMware 上安装 Anthos 的操作。部署工作站可以是 Linux , MacOS 或 Windows 。在此经过验证的部署中,我们使用了 Red Hat Enterprise Linux 7 。

    注 此工作站可以托管在 NetApp HCI 部署的内部或外部。唯一的要求是, IT 必须能够成功地与部署的 VMware vCenter Server 和 Internet 进行通信,才能正常运行。
  3. 安装 "Google Cloud SDK" 用于与 Google Cloud 交互。它可以作为二进制文件的归档进行下载,以供手动安装,也可以由 apt-get ( ubuntu/Debian )或 yum ( RHEL )软件包管理器安装。

    [user@rhel7 ~]$ sudo yum install google-cloud-sdk
    Failed to set locale, defaulting to C
    Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
    Resolving Dependencies
    --> Running transaction check
    ---> Package google-cloud-sdk.noarch 0:270.0.0-1 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    =================================================================================================
    Package                   Arch            Version             Repository                Size
    =================================================================================================
    Installing:
    google-cloud-sdk         noarch          270.0.0-1       google-cloud-sdk               36 M
    
    Transaction Summary
    =================================================================================================
    Install  1 Package
    
    Total download size: 36 M
    Installed size: 174 M
    Is this ok [y/d/N]: y
    Downloading packages:
    6d81c821884ae40244c746f6044fc1bcd801143a0d9c8da06767036b8d090a24-google-cloud-sdk-270.0.0-1.noar |  36 MB  00:00:00
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : google-cloud-sdk-270.0.0-1.noarch                                      1/1
      Verifying  : google-cloud-sdk-270.0.0-1.noarch                                      1/1
    
    Installed:
      google-cloud-sdk.noarch 0:270.0.0-1
    
    Complete!
    注 gcloud 二进制文件必须至少为版本 265.0.0 。您可以使用 gcloud 组件更新来更新手动安装。但是,如果 SDK 是由软件包管理器安装的,则将来也必须使用同一软件包管理器执行更新。
  4. 在配置了工作站的情况下,使用您的凭据登录到 Google Cloud 。为此,请在部署工作站中输入 login 命令,然后检索一个链接,该链接可以复制并粘贴到浏览器中,以便可以交互式登录到 Google 服务。登录后,此网页将显示一个代码,您可以根据提示将该代码复制并粘贴回部署工作站。

    [user@rhel7 ~]$ gcloud auth login
    Go to the following link in your browser:
    
        https://accounts.google.com/o/oauth2/auth?code_challenge=-7oPNSySHr_Sd2ZZ4K83koIeGTLVcdbjc8omr6zCbAI&prompt=select_account&code_challenge_method=S256&access_type=offline&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&response_type=code&client_id=32655940559.apps.googleusercontent.com&scope=https%3A%3F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform+https%3A%6F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcompute+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Faccounts.reauth
    
    
    Enter verification code: 6/swGAh52VVgB-TRS5LVrSvP79ZdDlb9V6ObyUGqoY67a3zp9NPciIKsM
    You are now logged in as [user@netapp.com].
    Your current project is [anthos-dev].  You can change this setting by running:
      $ gcloud config set project PROJECT_ID
  5. 启用多个 API ,以便您的环境可以与 Google Cloud 进行通信。集群中部署的 Pod 必须能够访问 https://www.googleapis.com 和 按预期运行。因此,工作节点所连接的 VM_Network 必须能够访问 Internet 。要启用所需的 API ,请从部署工作站运行以下命令:

    [user@rhel7 ~]$ gcloud services enable --project anthos-dev \
    cloudresourcemanager.googleapis.com \
    container.googleapis.com \
    gkeconnect.googleapis.com \
    gkehub.googleapis.com \
    serviceusage.googleapis.com \
    stackdriver.googleapis.com \
    monitoring.googleapis.com \
    logging.googleapis.com
  6. 创建一个名为 anthos-install 的工作目录,然后切换到该目录。

    [user@rhel7 ~]$ mkdir anthos-install && cd anthos-install
    [user@rhel7 anthos-install]$
  7. 在 VMware 上安装 Anthos 之前,您必须创建四个服务帐户,每个帐户都有与 Google Cloud 交互的特定用途。下表列出了这些帐户及其用途。

    帐户名称 目的

    component-access-sa

    用于从云存储下载 Anthos 二进制文件。

    connect-register-sa

    用于将 Anthos 集群注册到 Google Cloud 控制台。

    connect-agent-sa

    用于维护用户集群与 Google Cloud 之间的连接。

    logging-monitoring-sa.

    用于将日志记录和监控数据写入 Stackdriver 。

    注 系统会为每个帐户分配一个电子邮件地址,其中引用了您批准的 Google Cloud 项目名称。以下示例均列出了 NetApp 验证期间使用的项目 Anthos-Dev 。请务必根据需要在语法示例中替换相应的项目名称。
    [user@rhel7 anthos-install]$ gcloud iam service-accounts create component-access-sa \
        --display-name "Component Access Service Account" \
        --project anthos-dev
    [user@rhel7 anthos-install]$ gcloud iam service-accounts keys create component-access-key.json \
       --iam-account component-access-sa@anthos-dev.iam.gserviceaccount.com
    
    [user@rhel7 anthos-install]$ gcloud iam service-accounts create connect-register-sa \
        --project anthos-dev
    [user@rhel7 anthos-install]$ gcloud iam service-accounts keys create connect-register-key.json \
       --iam-account connect-register-sa@anthos-dev.iam.gserviceaccount.com
    
    [user@rhel7 anthos-install]$ gcloud iam service-accounts create connect-agent-sa \
        --project anthos-dev
    [user@rhel7 anthos-install]$ gcloud iam service-accounts keys create connect-agent-key.json \
        --iam-account connect-agent-sa@anthos-dev.iam.gserviceaccount.com
    
    [user@rhel7 anthos-install]$ gcloud iam service-accounts create logging-monitoring-sa \
        --project anthos-dev
    [user@rhel7 anthos-install]$ gcloud iam service-accounts keys create logging-monitoring-key.json \
        --iam-account logging-monitoring-sa@anthos-dev.iam.gserviceaccount.com
  8. 准备部署 Anthos 所需的环境的最后一步是,将某些特权限制在您的服务帐户中。您需要步骤 7 中列出的每个服务帐户的关联电子邮件地址。

    1. 使用 component-access-sa 帐户为 serviceuseage.serviceUsageVieweriam.serviceAccountCreatoriam.roleViewer 分配角色。

      [user@rhel7 anthos-install]$ gcloud projects add-iam-policy-binding anthos-dev\
          --member "serviceAccount:component-access-sa@anthos-dev.iam.gserviceaccount.com" \
          --role "roles/serviceusage.serviceUsageViewer"
      [user@rhel7 anthos-install]$ gcloud projects add-iam-policy-binding anthos-dev\
          --member "serviceAccount:component-access-sa@anthos-dev.iam.gserviceaccount.com" \
          --role "roles/iam.serviceAccountCreator"
      [user@rhel7 anthos-install]$ gcloud projects add-iam-policy-binding anthos-dev\
          --member "serviceAccount:component-access-sa@anthos-dev.iam.gserviceaccount.com" \
          --role "roles/iam.roleViewer"
    2. 使用 connect-register-sa 服务帐户为 gkehub.admin 分配角色。

      [user@rhel7 anthos-install]$ gcloud projects add-iam-policy-binding anthos-dev \
          --member "serviceAccount:connect-register-sa@anthos-dev.iam.gserviceaccount.com " \
          --role "roles/gkehub.admin"
    3. 使用 connect-agent-sa Acccount 为 gkehub.connect 分配角色。

      [user@rhel7 anthos-install]$ gcloud projects add-iam-policy-binding anthos-dev \
          --member "serviceAccount:connect-agent-sa@anthos-dev.iam.gserviceaccount.com" \
          --role "roles/gkehub.connect"
    4. 使用 logging-monitoring-sa 服务帐户,为 sprokdriver.resourcesMetadatalogging.logwritermonitoring.metricwritermonitoring.dashboardEditor 分配角色。

      [user@rhel7 anthos-install]$ gcloud projects add-iam-policy-binding anthos-dev \
          --member "serviceAccount:logging-monitoring-sa@anthos-dev.iam.gserviceaccount.com" \
          --role "roles/stackdriver.resourceMetadata.writer"
      [user@rhel7 anthos-install]$ gcloud projects add-iam-policy-binding anthos-dev\
          --member "serviceAccount:logging-monitoring-sa@anthos-dev.iam.gserviceaccount.com" \
          --role "roles/logging.logWriter"
      [user@rhel7 anthos-install]$ gcloud projects add-iam-policy-binding anthos-dev\
          --member "serviceAccount:logging-monitoring-sa@anthos-dev.iam.gserviceaccount.com" \
          --role "roles/monitoring.metricWriter"
      [user@rhel7 anthos-install]$ gcloud projects add-iam-policy-binding anthos-dev\
          --member "serviceAccount:logging-monitoring-sa@anthos-dev.iam.gserviceaccount.com" \
          --role "roles/monitoring.dashboardEditor"
  9. 下载 VMware CA 的 vCenter 证书;此证书稍后用于在安装期间向 vCenter 进行身份验证。

    [user@rhel7 anthos-install]$ true | openssl s_client -connect anthos-vc.cie.netapp.com:443 -showcerts 2>/dev/null | sed -ne '/-BEGIN/,/-END/p' > vcenter.pem