此步骤介绍如何在部署了 Anthos GKE 的本地管理机上下载并安装 apigeectl。步骤包括设置安装目录,创建 Hybrid 组件通信所需的 GCP 服务账号,以及创建 Apigee Hybrid 运行所需的 TLS 凭据。
下载并安装 apigeectl
apigeectl
是用于在 Kubernetes 集群中安装和管理 Apigee Hybrid 的命令行界面 (CLI)。
要获取 apigeectl
,请执行以下操作:
将软件包下载到 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
- 在您的系统上创建一个目录,作为 Apigee Hybrid 安装的基本目录。
-
将下载的 gzip 文件内容解压缩到您刚创建的基本目录中。例如:
tar xvzf filename.tar.gz -C path-to-base-directory
- 使用
cd
命令转到基本目录。 -
默认情况下,tar 内容会扩展到其名称中包含版本和平台的目录。例如
./apigeectl_1.0.0-f7b96a8_linux_64
。将该目录重命名为apigeectl
:mv apigeectl_1.0.0-f7b96a8_linux_64 apigeectl
- 使用
cd
命令转到该目录。例如: - 创建一个环境变量来保存此主目录路径:
export APIGEECTL_HOME=$PWD
- 验证该变量是否保存了正确的路径:
echo $APIGEECTL_HOME
cd ./apigeectl
此目录将是 apigeectl
主目录。它是 apigeectl
可执行命令所在的位置。
设置项目目录结构
以下目录结构是一个建议的方法。它将 Apigee Hybrid 版本软件与您必须创建的配置文件分开。通过使用 $APIGEECTL_HOME
变量和您将创建的符号链接,您可以根据需要轻松切换到新的软件版本。另请参阅升级 Apigee Hybrid。
- 确保您位于基本目录中(
apigeectl
目录所在的目录)。 - 创建名为
hybrid-files
的新文件夹。您可以为目录指定所需的任意名称,但文档中将始终使用名称hybrid-files
。稍后,您需要将配置文件、服务账号密钥和 TLS 证书存储在此文件夹中。此文件夹可让您将配置文件与apigeectl
软件安装分开:mkdir hybrid-files
- 当前的目录结构如下所示:
pwd && ls
/hybrid-base-directory apigeectl hybrid-files - 使用
cd
命令转到hybrid-files
文件夹:cd hybrid-files
- 在
hybrid-files
目录中,创建以下三个子目录,以便组织稍后创建的文件:mkdir overrides
mkdir service-accounts
mkdir certs
- 在
hybrid-files
目录中,创建指向$APIGEECTL_HOME
的符号链接。通过这些符号链接,您可以从hybrid-files
目录中运行apigeectl
命令:ln -s
$APIGEECTL_HOME
/tools toolsln -s
$APIGEECTL_HOME
/config configln -s
$APIGEECTL_HOME
/templates templatesln -s
$APIGEECTL_HOME
/plugins plugins - 如需检查符号链接是否正确创建,请执行以下命令,并确保链接路径指向正确的位置:
ls -l | grep ^l
创建服务账号
Apigee Hybrid 使用 GCP 服务账号来允许 Hybrid 组件通过授权的 API 调用进行通信。在此步骤中,您将使用 Apigee Hybrid 命令行工具创建一组服务账号。该工具还会为您下载服务账号私钥。然后,您必须将这些密钥添加到您的 Apigee Hybrid 集群配置文件中。
要创建密钥,请执行以下操作:
- 确保您位于
base_directory/hybrid-files
目录中: - 从
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.
- 现在,创建其余的服务账号:
./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
- 验证服务账号密钥已创建。您需要确保安全地存储这些私钥。密钥文件名以您的 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 用于生成凭据。
- 确保您位于
base_directory/hybrid-files
目录中。 - 从
hybrid-files
目录内执行以下命令:openssl req -nodes -new -x509 -keyout ./certs/keystore.key -out \ ./certs/keystore.pem -subj '/CN=mydomain.net' -days 3650
此命令会创建一个可用于快速入门安装的自签名证书/密钥对。CN mydomain.net 可以是任意需要的自签名凭据值。
- 检查以确保文件位于
./certs
目录中:ls ./certs
keystore.pem keystore.key其中,
keystore.pem
是自签名 TLS 证书文件,keystore.key
是密钥文件。
为 MART 网关创建 TLS 凭据
如准备工作中所述,您必须使用已获授权的 TLS 证书/密钥对进行 MART 网关配置。如果您尚未获取或创建这些凭据,请立即获取或创建。
- 获取或创建由证书授权机构授权的 TLS 证书/密钥对。您可以查看展示如何使用 Let's Encrypt CA 获取这些凭据的示例。请注意,证书的通用名称 (CN) 必须是有效的 DNS 名称。如需查看示例步骤,请参阅获取 TLS 凭据:示例。
- 将凭据复制到
base_directory/hybrid-files/certs
目录。 - 完成后,
./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