在 OpenShift 上安装 API7 企业版
本指南将引导你了解如何在 OpenShift 集群上部署 API7 企业版。
架构
概述
API7 企业版包括两套组件:
- 控制面:API7 控制台、API7 数据面管理器(DP Manager)、数据库(可以使用 RDS 替代)以及其他组件。
- 数据面:API7 网关。

高可用部署模式

先决条件
部署 OpenShift 集群
拥有一个运行中的 OpenShift 集群:

管理安全上下文约束(SCCs)
安全上下文约束(SCCs) 是 OpenShift 上的一组 API,用于管理 Pod 的安全策略约束。
OpenShift 中默认启用的 SCC 非常严格,要求容器中的进程对文件系统只读。遵循管理安全上下文约束文档,为 API7 企业版使用更灵活的 SCC nonroot-v2。
配置 OpenShift CLI
在控制台上找到登录命令:



使用你的 Token 和服务器地址登录到 OpenShift 集群:
oc login \
--token=sha256~Jk9gi578fm8tkdCje1qL0IyKc5ntqMOaladPjH3TuAk \
--server=https://api.v6g2f6c4y1v1q7s.edff.p1.openshiftapps.com:6443
请确保你的用户帐户具有执行集群管理操作的 cluster-admin 角色。
你应该会看到类似于以下的响应:
Logged into "https://api.v6g2f6c4y1v1q7s.edff.p1.openshiftapps.com:6443" as "admin" using the token provided.
You have access to 107 projects, the list has been suppressed. You can list all projects with 'oc projects'
Using project "default".
创建项目
在控制台中创建一个项目:


或者,你可以使用 CLI 创建 一个项目:
oc new-project api7-enterprise-project
该项目名称将被用作 Kubernetes 命名空间。
将默认项目切换为 api7-enterprise-project:
oc project api7-enterprise-project
安装 API7 企业版
添加 API7 Helm Chart 仓库
在 "Helm" 选项卡下选择 "Repositories"。

添加 API7 仓库 https://charts.api7.ai。


安装控制面
在 "Helm" 选项卡下选择 "Releases" 来创建 Helm release。

首先选择 Api7,然后点击 Api7ee3 Helm chart 进行创建。


使用默认的最新 chart 版本,并粘贴以下代码片段来替换默认值:
# adjust the values if needed for additional customizations
postgresql:
primary:
podSecurityContext:
enabled: false
containerSecurityContext:
enabled: false
prometheus:
server:
podSecurityContext:
enabled: false
containerSecurityContext:
enabled: false
点击 Create 完成。

你应该会看到已安装的组件。

查看所有创建的服务:
kubectl get svc -owide -l app.kubernetes.io/name=api7ee3
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
api7ee3-dashboard ClusterIP 172.30.39.137 <none> 7080/TCP,7443/TCP 35s app.kubernetes.io/component=dashboard,app.kubernetes.io/instance=api7ee3,app.kubernetes.io/name=api7ee3
api7ee3-developer-portal ClusterIP 172.30.114.132 <none> 4321/TCP 35s app.kubernetes.io/component=developer-portal,app.kubernetes.io/instance=api7ee3,app.kubernetes.io/name=api7ee3
api7ee3-dp-manager ClusterIP 172.30.232.75 <none> 7900/TCP,7943/TCP 35s app.kubernetes.io/component=dp-manager,app.kubernetes.io/instance=api7ee3,app.kubernetes.io/name=api7ee3
在控制台中激活许可 证
将 Dashboard 服务端口转发到 localhost:7443:
kubectl port-forward svc/api7ee3-dashboard 7443:7443
如果成功,你应该能够访问控制台 https://localhost:7443。
使用 admin 作为用户名和密码进行登录:

然后上传你的许可证。如果你没有许可证,你可以申请 30 天试用许可证。

选择 Activate:

现在你应该被重定向到控制台主界面。