Kong Ingress Controller 是基于 Kong Gateway 的 Kubernetes Ingress 控制器,用于管理集群外部到内部服务的 HTTP/HTTPS 流量路由。本镜像专为 PDS SM 环境优化,提供与 PDS SM 生态的深度集成能力,简化在 PDS SM 平台中部署、配置和运维 Kong Ingress Controller 的流程。
/api/v1/user)或主机名(如 user.example.com)的流量转发;env=prod、env=test),通过 IngressClass 或 Gateway 资源隔离不同环境的流量;kubectl 并拥有集群管理员权限(用于部署控制器资源);通过 Helm Chart 部署,支持与 PDS SM 环境参数联动:
bash# 添加 Kong *** Helm 仓库 helm repo add kong [***] helm repo update # 部署 Kong Ingress Controller for PDS SM(指定 PDS SM 集成参数) helm install kong-ingress-controller kong/kong \ --namespace kong --create-namespace \ --set ingressController.enabled=true \ --set ingressController.image.repository=kong/ingress-controller-pds-sm \ # 假设镜像名为该名称 --set ingressController.image.tag=v2.12.0-pds-sm.1 \ # 示例版本号 --set pdsSM.integration.enabled=true \ # 启用 PDS SM 集成 --set pdsSM.configPath=/etc/pds-sm/config # PDS SM 配置文件路径
适用于非 Kubernetes 环境的功能验证(生产环境建议使用 Kubernetes 部署):
bashdocker run -d \ --name kong-ingress-controller-pds-sm \ --network=host \ # 测试环境简化网络配置(生产环境需按需调整) -e KUBECONFIG=/etc/kubeconfig \ # 挂载 Kubernetes API 访问配置 -e INGRESS_CLASS=kong-pds-sm \ # 指定 IngressClass,与 PDS SM 环境关联 -e KONG_ADMIN_URL=[***] \ # Kong Gateway Admin API 地址 -e PDS_SM_INTEGRATION_ENABLED=true \ # 启用 PDS SM 集成 -v /path/to/kubeconfig:/etc/kubeconfig \ # 挂载本地 kubeconfig -v /path/to/pds-sm/config:/etc/pds-sm/config \ # 挂载 PDS SM 配置 kong/ingress-controller-pds-sm:v2.12.0-pds-sm.1
yamlversion: '3.8' services: kong-ingress-controller: image: kong/ingress-controller-pds-sm:v2.12.0-pds-sm.1 container_name: kong-ingress-controller-pds-sm environment: - KUBECONFIG=/etc/kubeconfig - INGRESS_CLASS=kong-pds-sm - KONG_ADMIN_URL=[***] - PDS_SM_INTEGRATION_ENABLED=true - PDS_SM_CONFIG_PATH=/etc/pds-sm/config volumes: - ./kubeconfig:/etc/kubeconfig:ro - ./pds-sm-config:/etc/pds-sm/config:ro depends_on: - kong-gateway # 假设 Kong Gateway 与控制器联动部署 kong-gateway: image: kong:3.5.0 container_name: kong-gateway ports: - "80:8000" # 客户端流量端口 - "443:8443" # HTTPS 端口 - "8001:8001" # Admin API 端口(供控制器调用)
| 参数名 | 环境变量对应名 | 描述 | 默认值 |
|---|---|---|---|
--ingress-class | INGRESS_CLASS | 指定关联的 IngressClass 名称,用于匹配 PDS SM 环境的 Ingress 资源 | kong |
--kubeconfig | KUBECONFIG | Kubernetes API 访问配置文件路径(Docker 部署时需挂载) | 空(K8s 内部署自动获取) |
--leader-elect | LEADER_ELECT | 是否启用 leader 选举(多实例部署时必选) | true |
--sync-period | SYNC_PERIOD | 配置同步周期(如 30s) | 30s |
| 参数名 | 环境变量对应名 | 描述 | 默认值 |
|---|---|---|---|
--pds-sm-integration-enabled | PDS_SM_INTEGRATION_ENABLED | 是否启用 PDS SM 集成功能 | false |
--pds-sm-config-path | PDS_SM_CONFIG_PATH | PDS SM 配置文件目录路径(需挂载到容器内) | /etc/pds-sm/config |
--pds-sm-service-label | PDS_SM_SERVICE_LABEL | PDS SM 服务标签键名(用于筛选 PDS SM 管理的服务) | pds-sm/service |
在 PDS SM 环境的 Kubernetes 集群中,通过 Ingress 资源定义路由规则:
yamlapiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: pds-sm-service-ingress namespace: pds-sm-apps # PDS SM 应用所在命名空间 annotations: konghq.com/plugins: "rate-limiting,prometheus" # 启用限流和监控插件 spec: ingressClassName: kong-pds-sm # 匹配控制器指定的 IngressClass rules: - host: api.pds-sm.example.com # PDS SM 环境的访问域名 http: paths: - path: /user pathType: Prefix backend: service: name: user-service # PDS SM 管理的微服务 port: number: 80 - path: /order pathType: Prefix backend: service: name: order-service # PDS SM 管理的微服务 port: number: 80 tls: - hosts: - api.pds-sm.example.com secretName: pds-sm-tls-cert # PDS SM 环境中的 TLS 证书密钥
yamlversion: '3.8' services: ingress-controller: image: kong/ingress-controller-pds-sm:v2.12.0-pds-sm.1 container_name: pds-sm-kong-ingress restart: always environment: - KUBECONFIG=/etc/kubeconfig - INGRESS_CLASS=kong-pds-sm - KONG_ADMIN_URL=[***] - PDS_SM_INTEGRATION_ENABLED=true - PDS_SM_CONFIG_PATH=/etc/pds-sm/config volumes: - ./kubeconfig:/etc/kubeconfig:ro - ./pds-sm-config:/etc/pds-sm/config:ro # 挂载 PDS SM 配置(如服务发现地址、认证信息) depends_on: - kong-gateway kong-gateway: image: kong:3.5.0 container_name: pds-sm-kong-gateway restart: always ports: - "80:8000" # HTTP 流量端口 - "443:8443" # HTTPS 流量端口 - "8001:8001" # Admin API 端口(供控制器调用) environment: - KONG_PROXY_ACCESS_LOG=/dev/stdout - KONG_ADMIN_ACCESS_LOG=/dev/stdout - KONG_PROXY_ERROR_LOG=/dev/stderr - KONG_ADMIN_ERROR_LOG=/dev/stderr
pds-sm.x 后缀);leader-elect 以保证高可用,避免单实例故障;/etc/pds-sm/config 目录下的配置文件,需通过挂载确保文件存在且格式正确;***/metrics。来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429