第 4 章 在 Red Hat OpenShift 上运行 APIcast
本教程介绍了如何在 Red Hat OpenShift 中部署 APIcast API 网关。
先决条件
- 您必须根据 第 3 章 安装 APIcast 在 Red Hat 3scale API 管理门户中配置 APIcast。
- 确保将 自助管理的网关 选为集成设置中的部署选项。
- 您应当已将暂存和生产环境都配置为继续操作。
要在 Red Hat OpenShift 上运行 APIcast,请执行以下部分中所述的步骤:
4.1. 设置 Red Hat OpenShift
如果您已经有一个正在运行的 OpenShift 集群,您可以跳过本节。否则,继续阅读:
对于生产环境,您可以按照 OpenShift 安装的说明进行操作。
在本教程中,将通过以下命令安装 OpenShift 集群:
- Red Hat Enterprise Linux (RHEL) 7
- Docker 容器化环境 v1.10.3
- OpenShift Origin 命令行界面(CLI)- v1.3.1
使用以下部分来设置 Red Hat OpenShift:
4.1.1. 安装 Docker 容器化环境
红帽提供的 Docker 格式容器镜像作为 RHEL 中的 Extras 频道的一部分发布。要启用附加软件仓库,您可以使用 Subscription Manager 或 yum config Manager。详情请查看 RHEL 产品文档。
对于部署在 AWS EC2 实例上的 RHEL 7,您将使用以下说明:
流程
列出所有软件仓库:
sudo yum repolist all
查找并启用
*-extras
存储库:sudo yum-config-manager --enable rhui-REGION-rhel-server-extras
安装 Docker 格式的容器镜像:
sudo yum install docker docker-registry
通过在
/etc/sysconfig/docker
文件中添加或取消注释以下行来添加不安全的 registry172.30.0.0/16
:INSECURE_REGISTRY='--insecure-registry 172.30.0.0/16'
启动 Docker 服务:
sudo systemctl start docker
使用以下命令验证容器服务是否正在运行:
sudo systemctl status docker
4.1.2. 启动 OpenShift 集群
要启动 OpenShift 集群,请执行以下操作:
流程
从 OpenShift 发行页面 下载客户端工具的最新稳定版本(
openshift-origin-client-tools-VERSION-linux-64bit.tar.gz
),并将从存档中提取的 Linuxoc
二进制文件放在PATH
中。注意docker 命令以
root
用户身份运行,因此您需要使用 root 特权运行任何oc
或 docker 命令。打开终端,该用户有运行 docker 命令的权限并运行:
oc cluster up
在输出底部,您可以找到有关部署的集群的信息:
-- Server Information ... OpenShift server started. The server is accessible via web console at: https://172.30.0.112:8443 You are logged in as: User: developer Password: developer To login as administrator: oc login -u system:admin
-
注意分配给您的 OpenShift 服务器的 IP 地址。您将在教程中将其指代为
OPENSHIFT-SERVER-IP
。
4.1.3. 在远程服务器上设置 OpenShift 集群(可选)
如果要在远程服务器上部署 OpenShift 集群,则需要在启动集群时明确指定公共主机名和路由后缀,以便您可以远程访问 OpenShift Web 控制台。
例如,如果您要在 AWS EC2 实例上部署,您应该指定以下选项:
oc cluster up --public-hostname=ec2-54-321-67-89.compute-1.amazonaws.com --routing-suffix=54.321.67.89.xip.io
其中 ec2-54-321-67-89.compute-1.amazonaws.com
是公共域,而 54.321.67.89
是实例的 IP。然后,您将可以访问位于 https://ec2-54-321-67-89.compute-1.amazonaws.com:8443 的 OpenShift Web 控制台。