
建议用户提供自定义证书,可参考 https://github.com/nginx/nginx-ingress-helm-operator/blob/main/examples/default-server-secret.yaml 创建 default-server-secret.yaml,并应用到集群:
shellkubectl apply -f default-server-secret.yaml
3. OpenShift 环境额外配置
在 OpenShift 集群中,需创建 SCC(Security Context Constraint)资源:
shellkubectl apply -f https://raw.githubusercontent.com/nginx/nginx-ingress-helm-operator/main/resources/scc.yaml
4. 部署 NGINX Ingress Controller
通过自定义资源(Custom Resource)部署 Ingress Controller,示例配置如下(基于 https://github.com/nginx/nginx-ingress-helm-operator/blob/main/config/samples/charts_v1alpha1_nginxingress.yaml%EF%BC%89%EF%BC%9A
yamlapiVersion: charts.nginx.org/v1alpha1 kind: NginxIngress metadata: name: example-nginxingress spec: # 完整配置参考 Helm 文档:https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-helm/#configuration controller: # 默认 TLS 证书(格式:namespace/name) defaultTLS: secret: "default/default-server-secret" # 若使用 NGINX Plus,需开启以下配置 nginxPlus: true # NGINX Plus 镜像仓库及标签 image: repository: "nginx-plus-ingress" tag: "5.2.0" # (可选)镜像拉取密钥(如需访问私有仓库) serviceAccount: imagePullSecretName: "nginx-plus-pull-secret"
应用自定义资源:
shellkubectl apply -f charts_v1alpha1_nginxingress.yaml
配置参数基于 NGINX Ingress Controller Helm 图表,详细说明参见 Helm 配置文档。常用参数如下:
| 参数路径 | 说明 |
|---|---|
controller.defaultTLS.secret | 默认 TLS 证书的 Secret 名称(格式:namespace/name) |
controller.nginxPlus | 是否启用 NGINX Plus(true/false) |
controller.image.repository | Ingress Controller 镜像仓库地址 |
controller.image.tag | 镜像标签(需与 Operator 版本对应,参见版本表) |
controller.serviceAccount.imagePullSecretName | 镜像拉取密钥名称(私有仓库时需配置) |
rbac.create | 是否自动创建 RBAC 资源(多实例部署同一命名空间时需设为 false) |
关于在集群中运行多个 NGINX Ingress Controller 的通用信息,参见 NGINX 文档。
在同一命名空间部署多个由 Operator 管理的 Ingress Controller 实例时:
rbac.create 设为 false,并独立创建 ServiceAccount 和 ClusterRoleBinding。controller.serviceAccount.imagePullSecretName 参数将被忽略,需在独立创建的 ServiceAccount 中配置镜像拉取密钥。nginx-ingress-operator-nginx-ingress-admin ClusterRole。示例 RBAC 配置参见 示例文件。
在不同命名空间部署多个实例并共享 IngressClass 时:
controller.ingressClass.name 设为空字符串,并独立创建 IngressClass 资源。controller.ingressClass.setAsDefaultIngress 参数将被忽略,需在独立创建的 IngressClass 中配置默认 ingress 类。示例 IngressClass 配置参见 示例文件。
升级 NGINX Ingress Operator 需遵循版本对应关系,详细步骤参见 升级文档。
NGINX Ingress Operator 发布在 GitHub,最新稳定版本为 https://github.com/nginx/nginx-ingress-helm-operator/releases/tag/v3.3.1%E3%80%82%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E5%BB%BA%E8%AE%AE%E4%BD%BF%E7%94%A8%E6%9C%80%E6%96%B0%E7%A8%B3%E5%AE%9A%E7%89%88%E3%80%82
查看所有发布版本:https://github.com/nginx/nginx-ingress-helm-operator/releases%E3%80%82
适用于测试或开发场景:
确保已访问 Kubernetes/OpenShift 集群。
安装自定义资源定义(CRD):
shellmake install
本地运行 Operator:
shellmake run
此时 Operator 将在本地运行,并与集群通信。
如需贡献代码,参见 贡献指南。
以下是 nginx/nginx-ingress-operator 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务