Kong Gateway Operator 是一个 Kubernetes Operator,用于在 Kubernetes 集群中自动化部署、配置、管理和监控 Kong Gateway 实例的生命周期。本 Docker 镜像是该 Operator 的容器化分发形式,旨在简化 Kong Gateway 在 Kubernetes 环境中的运维流程,降低手动操作成本,提升部署一致性和可靠性。
KongGateway、KongPlugin、KongIngress 等)定义期望状态,Operator 自动协调实际状态。cert-manager(用于自动生成 Operator 所需的 TLS 证书,版本 ≥ 1.3.0)。Kong ***提供 Helm Chart 简化部署流程:
bash# 添加 Kong Helm 仓库 helm repo add kong [***] helm repo update # 安装 Kong Gateway Operator(指定命名空间,如 kong-system) helm install kong-gateway-operator kong/gateway-operator \ --namespace kong-system \ --create-namespace \ --version 0.14.0 # 替换为最新版本
直接应用***发布的 YAML 清单:
bash# 部署 CRD kubectl apply -f [***] kubectl apply -f [***] # ... 其他 CRD(完整列表见***文档) # 部署 Operator kubectl apply -f [***]
Operator 通过以下 CRD 管理 Kong Gateway 配置:
| CRD 名称 | 用途 | 示例配置 |
|---|---|---|
KongGateway | 定义 Kong Gateway 实例的部署规格 | 指定副本数、镜像版本、资源限制、服务类型(ClusterIP/NodePort/Load***)等。 |
KongPlugin | 定义 Kong 插件配置(如限流、认证等) | 指定插件类型(如 rate-limiting)、配置参数(如 minute: 60)、作用范围(全局/路由/服务)。 |
KongIngress | 扩展 Kubernetes Ingress 资源 | 补充路由规则、负载均衡策略、健康检查配置等。 |
KongGateway 配置示例yamlapiVersion: gateway-operator.konghq.com/v1beta1 kind: KongGateway metadata: name: kong-gateway namespace: kong spec: replicas: 3 # 3 副本确保高可用 image: kong/kong-gateway:3.5 # 指定 Kong Gateway 镜像版本 resources: requests: cpu: 100m memory: 256Mi limits: cpu: 1000m memory: 1Gi service: type: Load*** # 暴露为 Load*** 服务 env: - name: KONG_LOG_LEVEL value: "info" # 日志级别 - name: KONG_PROXY_ACCESS_LOG value: "/dev/stdout" # 访问日志输出到标准输出
Operator 自身支持通过环境变量调整行为,常见配置如下:
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
WATCH_NAMESPACE | 限制 Operator 监控的命名空间(逗号分隔) | 空(监控所有命名空间) |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
KUBERNETES_SERVICE_HOST | Kubernetes API Server 地址 | 自动从集群环境变量获取 |
KUBERNETES_SERVICE_PORT | Kubernetes API Server 端口 | 443 |
bash# 1. 安装 cert-manager(Operator 依赖) kubectl apply -f [***] # 2. 等待 cert-manager 就绪 kubectl wait --for=condition=Available deployment --all -n cert-manager --timeout=300s # 3. 添加 Kong Helm 仓库并更新 helm repo add kong [***] helm repo update # 4. 安装 Kong Gateway Operator helm install kong-gateway-operator kong/gateway-operator \ --namespace kong-system \ --create-namespace \ --set watchNamespace=kong # 仅监控 kong 命名空间 # 5. 部署 KongGateway 实例 kubectl apply -f - <<EOF apiVersion: gateway-operator.konghq.com/v1beta1 kind: KongGateway metadata: name: kong-gateway namespace: kong spec: replicas: 2 image: kong/kong-gateway:3.5 service: type: NodePort EOF # 6. 验证部署 kubectl get pods -n kong # 查看 Kong Gateway 实例 pod kubectl get svc -n kong # 查看 Gateway 服务地址
部署完成后,可通过创建 KongPlugin 验证配置是否自动生效:
yaml# 创建一个限流插件 apiVersion: gateway-operator.konghq.com/v1beta1 kind: KongPlugin metadata: name: rate-limit-plugin namespace: kong spec: pluginName: rate-limiting config: minute: 10 # 每分钟允许 10 次请求 policy: local
将插件关联到 Ingress 路由:
yamlapiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: demo-ingress namespace: kong annotations: konghq.com/plugins: rate-limit-plugin # 关联上述限流插件 spec: ingressClassName: kong # 使用 Kong Ingress Class rules: - http: paths: - path: /demo pathType: Prefix backend: service: name: demo-service port: number: 80
KongGateway 的资源限制(CPU/内存),避免性能瓶颈。来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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