
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 并拥有集群管理员权限(用于部署控制器资源);4.2.1 Helm 安装(推荐,Kubernetes 环境)
通过 Helm Chart 部署,支持与 PDS SM 环境参数联动:
bash# 添加 Kong 官方 Helm 仓库 helm repo add kong https://charts.konghq.com 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 配置文件路径
4.2.2 Docker 部署(测试环境)
适用于非 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=http://kong-gateway:8001 \ # 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
4.2.3 Docker Compose 配置(本地测试)
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=http://kong-gateway:8001 - 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 端口(供控制器调用)
4.3.1 控制器核心参数
| 参数名 | 环境变量对应名 | 描述 | 默认值 |
|---|---|---|---|
--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 |
4.3.2 PDS SM 集成参数
| 参数名 | 环境变量对应名 | 描述 | 默认值 |
|---|---|---|---|
--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 |
4.4.1 Ingress 资源配置(PDS SM 服务路由)
在 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 证书密钥
4.4.2 Docker Compose 完整配置(含 PDS SM 集成)
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=http://kong-gateway:8001 - 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 目录下的配置文件,需通过挂载确保文件存在且格式正确;10254/metrics。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务