
dyrnq/controllerregistry.k8s.io/ingress-nginx/controller 是Kubernetes官方维护的Ingress控制器镜像,基于NGINX反向代理实现。该镜像用于在Kubernetes集群中部署Ingress控制器,负责将集群外部的HTTP/HTTPS流量路由到集群内部的服务,是连接外部网络与Kubernetes服务的核心组件。
该镜像通常通过Kubernetes资源清单或Helm Chart部署,而非直接使用docker run命令运行。以下是常见部署方式:
bash# 获取最新稳定版部署文件 kubectl apply -f [***]
bash# 添加Helm仓库 helm repo add ingress-nginx [***] helm repo update # 部署控制器(默认命名空间ingress-nginx) helm install ingress-nginx ingress-nginx/ingress-nginx --namespace ingress-nginx --create-namespace
通过Pod的env字段配置,常用环境变量包括:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
NGINX_CONFIG_TEMPLATE | 自定义NGINX配置模板路径 | /etc/nginx/template/nginx.tmpl |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
METRICS_PORT | metrics指标暴露端口 | *** |
HEALTH_CHECK_PORT | 健康检查端口 | *** |
创建Ingress资源定义路由规则:
yamlapiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: minimal-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: /$1 spec: ingressClassName: nginx rules: - host: example.com http: paths: - path: /app1(/|$)(.*) pathType: Prefix backend: service: name: app1-service port: number: 80 - path: /app2 pathType: Prefix backend: service: name: app2-service port: number: 80 tls: - hosts: - example.com secretName: example-tls-cert
通过ConfigMap自定义全局NGINX配置:
yamlapiVersion: v1 kind: ConfigMap metadata: name: ingress-nginx-controller namespace: ingress-nginx data: proxy-body-size: "10m" # 允许上传文件大小 client-max-body-size: "10m" enable-underscores-in-headers: "true" # 允许请求头包含下划线


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务