第 2 步:为 GKE On-Prem 进行安装和设置

此步骤介绍如何在部署了 Anthos GKE 的本地管理机上下载并安装 apigeectl。步骤包括设置安装目录,创建 Hybrid 组件通信所需的 GCP 服务账号,以及创建 Apigee Hybrid 运行所需的 TLS 凭据。

下载并安装 apigeectl

apigeectl 是用于在 Kubernetes 集群中安装和管理 Apigee Hybrid 的命令行界面 (CLI)。

要获取 apigeectl,请执行以下操作

  1. 将软件包下载到 GKE On-Prem 管理机:

    Mac 64 位

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_mac_64.tar.gz

    Linux 64 位

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_linux_64.tar.gz

    Mac 32 位

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_mac_32.tar.gz

    Linux 32 位

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.2.0/apigeectl_linux_32.tar.gz
  2. 在您的系统上创建一个目录,作为 Apigee Hybrid 安装的基本目录
  3. 将下载的 gzip 文件内容解压缩到您刚创建的基本目录中。例如:

    tar xvzf filename.tar.gz -C path-to-base-directory
  4. 使用 cd 命令转到基本目录。
  5. 默认情况下,tar 内容会扩展到其名称中包含版本和平台的目录。例如 ./apigeectl_1.0.0-f7b96a8_linux_64。将该目录重命名为 apigeectl

    mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
  6. 使用 cd 命令转到该目录。例如:
  7. cd ./apigeectl

    此目录将是 apigeectl 主目录。它是 apigeectl 可执行命令所在的位置。

  8. 创建一个环境变量来保存此主目录路径:

    export APIGEECTL_HOME=$PWD

  9. 验证该变量是否保存了正确的路径:
    echo $APIGEECTL_HOME

设置项目目录结构

以下目录结构是一个建议的方法。它将 Apigee Hybrid 版本软件与您必须创建的配置文件分开。通过使用 $APIGEECTL_HOME 变量和您将创建的符号链接,您可以根据需要轻松切换到新的软件版本。另请参阅升级 Apigee Hybrid

  1. 确保您位于基本目录中(apigeectl 目录所在的目录)。
  2. 创建名为 hybrid-files 的新文件夹。您可以为目录指定所需的任意名称,但文档中将始终使用名称 hybrid-files。稍后,您需要将配置文件、服务账号密钥和 TLS 证书存储在此文件夹中。此文件夹可让您将配置文件与 apigeectl 软件安装分开:
    mkdir hybrid-files
  3. 当前的目录结构如下所示:
    pwd && ls
    /hybrid-base-directory
      apigeectl
      hybrid-files
  4. 使用 cd 命令转到 hybrid-files 文件夹:
    cd hybrid-files
  5. hybrid-files 目录中,创建以下三个子目录,以便组织稍后创建的文件:
    mkdir overrides
    mkdir service-accounts
    mkdir certs
  6. hybrid-files 目录中,创建指向 $APIGEECTL_HOME 的符号链接。通过这些符号链接,您可以从 hybrid-files 目录中运行 apigeectl 命令:
    ln -s $APIGEECTL_HOME/tools tools
    ln -s $APIGEECTL_HOME/config config
    ln -s $APIGEECTL_HOME/templates templates
    ln -s $APIGEECTL_HOME/plugins plugins
  7. 要检查符号链接是否正确创建,请执行以下命令,并确保链接路径指向正确的位置:
    ls -l | grep ^l
    

创建服务账号

Apigee Hybrid 使用 GCP 服务账号来允许 Hybrid 组件通过授权的 API 调用进行通信。在此步骤中,您将使用 Apigee Hybrid 命令行工具创建一组服务账号。该工具还会为您下载服务账号私钥。然后,您必须将这些密钥添加到您的 Apigee Hybrid 集群配置文件中。

要创建密钥,请执行以下操作:

  1. 确保您位于 base_directory/hybrid-files 目录中:
  2. hybrid-files 目录内执行以下命令。以下命令会为 apigee-metrics 组件创建服务账号,并将下载的密钥放在 ./service-accounts 目录中:
    ./tools/create-service-account apigee-metrics ./service-accounts

    当您看到此提示时,请输入 y

    [INFO]: gcloud configured project ID is project_id.
     Press: y to proceed with creating service account in project: project_id
     Press: n to abort.

    如果这是首次创建具有该工具分配的确切名称的 SA,该工具会创建该服务账号,您无需执行任何其他操作。

    但是,如果您看到以下消息和提示,请选择 y 以生成新密钥:

    [INFO]: Service account apigee-metrics@project_id.iam.gserviceaccount.com already exists.
    ...
     [INFO]: The service account might have keys associated with it. It is recommended to use existing keys.
     Press: y to generate new keys.(this does not de-activate existing keys)
     Press: n to skip generating new keys.
     
  3. 现在,创建其余的服务账号:
    ./tools/create-service-account apigee-synchronizer ./service-accounts
    ./tools/create-service-account apigee-udca ./service-accounts
    ./tools/create-service-account apigee-mart ./service-accounts
    ./tools/create-service-account apigee-cassandra ./service-accounts
    ./tools/create-service-account apigee-logger ./service-accounts
  4. 验证服务账号密钥已创建。您需要确保安全地存储这些私钥。密钥文件名以您的 GCP 项目的名称为前缀。例如:
    ls ./service-accounts
    gcp-project-id-apigee-cassandra.json
    gcp-project-id-apigee-logger.json
    gcp-project-id-apigee-mart.json
    gcp-project-id-apigee-metrics.json
    gcp-project-id-apigee-synchronizer.json
    gcp-project-id-apigee-udca.json

创建 TLS 证书

您必须在 Apigee Hybrid 配置中为 MART 和运行时入站网关提供 TLS 证书。用于 MART 网关的凭据必须由证书授权机构 (CA) 授权。在本快速入门(非生产的试用版安装)中,运行时网关可以接受自签名凭据。

在此步骤中,您将创建 TLS 凭据文件并将其添加到 base_directory/hybrid-files/certs 目录。在第 3 步:配置集群中,您将把文件路径添加到集群配置文件。

为运行时网关创建 TLS 凭据

运行时入站流量网关(处理 API 代理流量的网关)需要 TLS 证书/密钥对。对于此快速入门安装,您可以使用自签名凭据。在以下步骤中,openssl 用于生成凭据。

  1. 确保您位于 base_directory/hybrid-files 目录中。
  2. hybrid-files 目录内执行以下命令:
    openssl req  -nodes -new -x509 -keyout ./certs/keystore.key -out \
        ./certs/keystore.pem -subj '/CN=mydomain.net' -days 3650

    此命令会创建一个可用于快速入门安装的自签名证书/密钥对。CN mydomain.net 可以是任意需要的自签名凭据值。

  3. 检查确保文件位于 ./certs 目录中:
    ls ./certs
      keystore.pem
      keystore.key

    其中,keystore.pem 是自签名 TLS 证书文件,keystore.key 是密钥文件。

为 MART 网关创建 TLS 凭据

准备工作中所述,您必须使用已获授权的 TLS 证书/密钥对进行 MART 网关配置。如果您尚未获取或创建这些凭据,请立即获取或创建。

  1. 获取或创建由证书授权机构授权的 TLS 证书/密钥对。您可以查看展示如何使用 Let's Encrypt CA 获取这些凭据的示例。请注意,证书的通用名称 (CN) 必须是有效的 DNS 名称。如需查看示例步骤,请参阅获取 TLS 凭据:示例
  2. 将凭据复制到 base_directory/hybrid-files/certs 目录。
  3. 完成后,./certs 目录中应包含两对凭据文件。例如:
    ls ./certs
      fullchain.pem
      privkey.key
      keystore.pem
      keystore.key

    其中,fullchain.pem 是已获授权的 TLS 证书文件,privkey.key 是已获授权的密钥文件。

摘要

现在,您已经拥有了一个可供您在 Kubernetes 集群中配置、部署和管理 Apigee Hybrid 的统一平台。接下来,您将创建一个文件,Kubernetes 将使用该文件将 Hybrid 运行时组件部署到集群。

1 2 (下一步)第 3 步:配置集群 4