第 5 步:创建服务账号和凭据

此步骤介绍了如何创建运行 Apigee Hybrid 所需的 Google Cloud 服务账号和传输层安全协议 (TLS) 凭据。

创建服务账号

Apigee Hybrid 使用 Google Cloud 服务账号来允许 Hybrid 组件通过授权的 API 调用进行通信。

在此步骤中,您将使用 Apigee Hybrid 命令行工具创建一组服务账号并下载服务账号私钥文件。

如需详细了解服务账号并查看建议用于生产环境的服务账号的完整列表,请参阅以下内容:

Apigee 提供了一个工具 create-service-account,可在一个命令中创建服务账号、将角色分配给服务账号以及创建和下载服务账号的密钥文件。如需了解相关的 Google Cloud 概念,请参阅创建和管理服务账号以及创建和管理服务账号密钥

  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. 现在,使用以下命令创建其余的服务账号。create-service-account 命令是交互式的,并且需要获得针对每个账号的响应。
    ./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
    ./tools/create-service-account apigee-watcher ./service-accounts
    ./tools/create-service-account apigee-distributed-trace ./service-accounts
  4. 使用以下命令验证服务账号密钥已创建。您需要确保安全地存储这些私钥。密钥文件名以您的 Google Cloud 项目的名称为前缀。
    ls ./service-accounts

    结果应该类似如下所示:

    gcp-project-id-apigee-cassandra.json
    gcp-project-id-apigee-distributed-trace.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
    gcp-project-id-apigee-watcher.json

创建 TLS 证书

您必须在 Apigee Hybrid 配置中为运行时入站网关提供 TLS 证书。在本快速入门(非生产的试用版安装)中,运行时网关可以接受自签名凭据。在以下步骤中,openssl 用于生成自签名凭据。

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

  1. 确保您位于在设置项目目录结构中配置的 base_directory/hybrid-files 目录中。
  2. 请务必使用以下命令将域名保存到 DOMAIN 环境变量中:
    echo $DOMAIN
  3. hybrid-files 目录内执行以下命令:
    openssl req  -nodes -new -x509 -keyout ./certs/keystore.key -out \
        ./certs/keystore.pem -subj '/CN='$DOMAIN'' -days 3650

    其中,DOMAIN 是您在第 1 部分的“第 5 步:创建环境组”中用于您的环境的网域。

    此命令会创建一个可用于快速入门安装的自签名证书/密钥对。

  4. 使用以下命令检查文件是否在 ./certs 目录中:
    ls ./certs
      keystore.pem
      keystore.key

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

您现在已经拥有管理 Kubernetes 集群中的 Apigee Hybrid 所需的服务账号和凭据。接下来,您将创建一个文件,Kubernetes 将使用该文件将 Hybrid 运行时组件部署到集群。

下一步

1 2 3 4 5 (下一步)第 6 步:配置 Hybrid 运行时 7