K8s集群K8s集群Kong安装部署配置实操

发布时间:2026/9/28 21:09:57
K8s集群K8s集群Kong安装部署配置实操 K8s集群K8s集群Kong安装部署配置实操技术栈Kong Gateway v3.5.x Kubernetes v1.32.13 Rocky Linux 8.6 PostgreSQL 15 Kong Ingress Controller 2.12操作环境 / 对接原理 / 详细步骤 / 完整命令 / 配置文件 / 验证流程 / 排错方案K8s集群K8s集群Kong安装部署配置实操操作环境Kong Gateway v3.5.x已部署在 kong 命名空间K8s 集群 v1.32.13Rocky Linux 8.6PostgreSQL 15 作为配置存储或DBless模式Kong Ingress Controller (KIC) v2.12.x 已安装Konga Dashboard 已部署用于Web管理后端微服务部署在 default 命名空间kubectl v1.32.13Kong Admin API 已配置对接原理Kong Gateway 是开源 API 网关基于 OpenRestyNginx LuaJIT支持插件扩展、负载均衡、限流、认证。两种部署模式DB模式PostgreSQL/Cassandra存储配置支持多节点和 DBless 模式配置通过声明式YAML加载适合K8s。核心概念Service后端服务抽象、Route路由规则关联Service、Consumer消费者、Plugin插件全局/服务/路由/消费者级别、Upstream上游负载均衡、Target上游节点。Kong Ingress Controller 监听 K8s Ingress/HTTPRoute/KongPlugin/KongConsumer 等 CRD自动配置 Kong 路由和插件。流量处理客户端 - Kong - 路由匹配 - 插件链 - Service - Upstream负载均衡 - 后端Pod。Kong 企业版提供更多高级插件Vitals、Dev Portal、RBAC开源版已覆盖常用网关功能。高可用Kong 多副本无状态PostgreSQL 主从或外部托管K8s Service 前置负载均衡。详细步骤1. 安装Kong与Ingress Controller# Helm安装KongDBless模式推荐K8s helm repo add kong https://charts.konghq.com helm repo update helm install kong kong/kong --namespace kong --create-namespace \ --set ingressController.installCRDsfalse \ --set proxy.typeNodePort \ --set admin.typeClusterIP # 查看组件 kubectl get pods -n kong kubectl get svc -n kong # 安装Konga Dashboard cat konga.yaml EOF apiVersion: apps/v1 kind: Deployment metadata: name: konga namespace: kong spec: replicas: 1 selector: matchLabels: app: konga template: metadata: labels: app: konga spec: containers: - name: konga image: pantsel/konga:latest env: - name: NODE_ENV value: production - name: DB_ADAPTER value: postgres - name: DB_HOST value: kong-postgresql - name: DB_USER value: kong - name: DB_PASSWORD value: kong - name: DB_DATABASE value: konga ports: - containerPort: 1337 EOF kubectl apply -f konga.yaml # 访问Admin API kubectl port-forward -n kong svc/kong-admin 8001:8001 curl http://localhost:8001/ # 访问代理 kubectl port-forward -n kong svc/kong-proxy 8000:80 # 安装CRD如未自动安装 kubectl apply -f https://raw.githubusercontent.com/Kong/kubernetes-ingress-controller/v2.12.x/config/crd-v1beta1/all.yaml验证流程# 1. 验证Kong运行 kubectl get pods -n kong # 2. 验证路由 curl -v -H Host: api.example.com http://kong-proxy/api/test # 3. 验证插件 # 限流超过限制返回429 # 认证无key返回401有key返回200 # 4. 验证负载均衡 for i in {1..20}; do curl -s http://kong-proxy/api/version; done | sort | uniq -c # 5. 验证健康检查 curl http://localhost:8001/upstreams/name/health # 6. 验证灰度 curl -H x-canary: true http://kong-proxy/api/version # 7. 查看监控 curl http://localhost:8001/metrics | grep kong排错方案路由404检查Route的paths/methods/hosts是否匹配请求Service是否关联Routestrip-path配置KIC是否同步配置Kong日志查看路由匹配上游502检查Service host是否正确Upstream target是否健康后端Pod是否Running端口是否正确网络策略DNS解析插件不生效检查插件是否绑定到正确的Service/Route/Consumer插件配置参数插件是否启用插件优先级Kong错误日志认证失败检查Consumer是否创建凭证是否正确请求header名称JWT算法/密钥/过期时间插件配置key_namesDBless配置不更新检查ConfigMap是否更新Kong是否reloaddeclarative_config路径KIC是否推送配置Kong启动日志KIC不同步检查Ingress Class是否为kongCRD是否安装KIC日志RBAC权限Kong Admin API连通性annotations格式性能问题增加Kong副本调整nginx worker_processes/worker_connections启用缓存上游keepalive分析access_log耗时升级实例规格HTTPS错误检查证书SecretKong TLS配置SNI匹配证书链完整私钥匹配强制HTTPS跳转配置

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询