在 OpenShift 上安装 API7 企业版
本指南将引导你完成在 OpenShift 集群上部署 API7 企业版的步骤。
架构
概述
API7 企业版包括两组组件:
- 控制面:API7 控制台、API7 DP 管理器、数据库(可以使用 RDS 代替)、其他组件。
- 数据面:API7 网关
高可用部署模式
前提条件
部署 OpenShift 集群
拥有一个正在运行的 OpenShift 集群:
管理安全上下文约束 (SCC)
安全上下文约束 (SCC) 是 OpenShift 上的一组 API,用于管理 Pod 的安全策略约束。
OpenShift 中默认启用的 SCC 非常严格,要求容器中的进程对文件系统是只读的。按照管理安全上下文约束 文档为 API7 企业版使用更灵活的 SCC nonroot-v2
。
配置 OpenShift CLI
安装 OpenShift CLI (oc) 或从控制台下载它:
在控制台上找到登录命令:
使用你的令牌和服务器地址登录到 OpenShift 集群:
oc login \
--token=sha256~pesd0RAyKiKJLkkKJ4Oh2lmy4KSX9b5J6Fc24FYM2EQ \
--server=[https://api.api7.93ew.p1.openshiftapps.com:6443](https://api.api7.93ew.p1.openshiftapps.com:6443)
信息
确保你的用户帐户具有 cluster-admin
角色 以执行集群管理。
你应该会看到类似于以下内容的响应:
Logged into "[https://api.api7.93ew.p1.openshiftapps.com:6443](https://api.api7.93ew.p1.openshiftapps.com:6443)" as "admin" using the token provided.
You have access to 102 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 仓库
添加 API7 仓库 https://charts.api7.ai
:
安装控制面
选择 Api7ee3
Helm Chart 并创建:
选择 Chart 版本:
粘贴以下代码段以替换默认值:
# 如果需要进行其他自定义,请调整这些值
postgresql:
primary:
podSecurityContext:
fsGroup: 1001020000
containerSecurityContext:
runAsUser: 1001020000
prometheus:
server:
podSecurityContext:
fsGroup: 1001020000
containerSecurityContext:
runAsUser: 1001020000
点击 创建 完成。你应该会看到已安装的组件:
查看所有已创建的服务:
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.249.55 <none> 7080/TCP 28m app.kubernetes.io/component=dashboard,app.kubernetes.io/instance=api7ee3,app.kubernetes.io/name=api7ee3
api7ee3-dp-manager ClusterIP 172.30.43.83 <none> 7900/TCP,7943/TCP 28m app.kubernetes.io/component=dp-manager,app.kubernetes.io/instance=api7ee3,app.kubernetes.io/name=api7ee3
在控制台中激活许可证
将控制台服务端口转发到 localhost:7443