3.6. 使用 OpenShift 模板部署 APIcast
您可以使用 OpenShift 模板部署 APIcast API 网关。部署 APIcast API 网关有助于保护您的 API,您可以分析和监控它们的流量。
先决条件
- 您必须在 Red Hat 3scale API 管理门户中配置 APIcast,因为每个 安装 APIcast。
- 确保将 自助管理的网关 选为集成设置中的部署选项。
- 您应当已将暂存和生产环境都配置为继续操作。
步骤
默认情况下,您以 developer 用户身份登录,并可继续下一步。
否则,请从您在上一步中下载和安装的 OpenShift 客户端工具使用
oc login
命令登录 OpenShift。默认登录凭证为 username = "developer" 和 password = "developer":oc login https://OPENSHIFT-SERVER-IP:8443
您应当会在输出中看到
Login successful.
。创建您的项目。本例设置显示名为 gateway。
oc new-project "3scalegateway" --display-name="gateway" --description="3scale gateway demo"
响应应如下所示:
Now using project "3scalegateway" on server "https://172.30.0.112:8443"
忽略命令提示符处文本输出中的建议后续步骤,再继续下面的下一步。
通过将
<access_token>
和<domain>
替换为您自己的凭证来创建新 secret 来引用项目。有关<access_token>
和<domain>
的更多信息,请参阅下方。oc create secret generic apicast-configuration-url-secret --from-literal=password=https://<access_token>@<admin_portal_domain> --type=kubernetes.io/basic-auth
这里的
<access_token>
是 3scale 帐户的 访问令牌,<domain>-admin.3scale.net
是 3scale 管理门户的 URL。响应应如下所示:
secret/apicast-configuration-url-secret
从模板为您的 APIcast 网关创建一个应用程序,并启动部署:
oc new-app -f https://raw.githubusercontent.com/3scale/3scale-amp-openshift-templates/3scale-2.10.0-GA/apicast-gateway/apicast.yml
您应该在输出的底部看到以下信息:
--> Creating resources with label app=3scale-gateway ... deploymentconfig "apicast" created service "apicast" created --> Success Run 'oc status' to view your app.
3.6.1. 通过 OpenShift 控制台创建路由
要通过 OpenShift 控制台创建路由,请执行以下操作:
步骤
在浏览器中打开 OpenShift 集群的 Web 控制台:https://OPENSHIFT-SERVER-IP:8443/console/
如果在远程服务器上启动 OpenShift 集群,请使用
--public-hostname
中指定的值,而不是OPENSHIFT-SERVER-IP
。您将看到 OpenShift 的登录屏幕。
注意您可能会收到有关不受信任的网站的警告。这是正常的,因为您要尝试通过安全协议访问 Web 控制台,而无需配置有效证书。虽然您应该在生产环境中避免这种情况,但对于此测试设置,您可以继续操作并为此地址创建一个例外。
使用您的开发人员凭据登录。
您将看到项目列表,包括上面通过命令行创建的 gateway 项目。如果没有看到您的网关项目,您可能用其他用户创建它,并且需要将策略角色分配给此用户。
点 gateway 链接,您将看到 概述 选项卡。
OpenShift 下载了 APIcast 的代码,并启动了部署。您可能会在部署进行时看到消息 Deployment #1 running。
构建完成后,用户界面(UI)会刷新并显示 OpenShift 启动的 APIcast (1 pod)实例,如模板中定义的。
在启动时,每个 APIcast 实例都会使用 3scale 管理门户的 Integration 页面中提供的设置从 3scale 下载所需的配置。
OpenShift 将维护两个 APIcast 实例,并监控这两者的健康状态;任何不健康的 APIcast 实例将自动替换为新的实例。
为了允许您的 APIcast 实例接收流量,您需要创建一个路由。首先点 Create Route。
在 Public Base URL 部分(不带 http:// 且不带端口)部分输入您在 3scale 中设置的同一主机,如
gateway.openshift.demo
。然后 单击创建按钮。对于您定义的每 3scale 产品,您必须创建一个新路由。