在 OpenShift 上安装 API7 Ingress Controller
与标准 Kubernetes 环境相比,OpenShift 实施了更严格的安全控制和平台级约束。因此,部署时需要额外考虑若干事项。
本指南介绍如何在 OpenShift 集群上部 署与 API7 企业版配合使用的 API7 Ingress Controller。
本文不涵盖在 OpenShift 上安装 APISIX Ingress Controller,但两个控制器具有相同的 OpenShift 特定要求,因此安装流程大体相似:
- 安全上下文约束(SCC): OpenShift 默认限制 Pod 安全策略。必须为 Ingress Controller 配置适当的 SCC(通常为
nonroot-v2),才能使其正常运行。 - 非 root 运行要求: OpenShift 要求容器使用分配的 UID,以非 root 用户身份运行。因此,必须在 Helm 安装命令中显式配置
securityContext。 - 自定义资源定义(CRD)管理: OpenShift 会保护 Gateway API CRD 等系统 CRD。使用 Helm 安装时,请添加
--skip-crds标志以避免权限冲突,随后再单独安装 APISIX 相关 CRD。
前置条件
完成在 OpenShift 上部署 API7 网关中的前置条件和安装步骤,但跳过生成部署脚本步骤。使用 Ingress Controller 时,必须在 Ingress Controller 类型的网关组中部署网关实例。
安装 API7 Ingress Controller
如果你想使用不同的命名空间或自定义其他配置名称,请相应地调整安装命令和配置值。