2.6 KiB
2.6 KiB
本文作者:丁辉
Helm部署KongGateway
介绍
Kong Gateway是一个基于Nginx和OpenResty实现的云原生分布式API网关,具有高性能、高可用特点。
开始部署
-
添加 Helm 仓库
helm repo add kong https://charts.konghq.com helm repo update
-
编辑 values.yaml
vi kong-gateway-values.yaml
内容如下
ingressController: enabled: true # 安装模式配置为 daemonset deployment: daemonset: true hostNetwork: false # 更改 service type proxy: enabled: true type: ClusterIP http: hostPort: 80 tls: hostPort: 443 manager: enabled: true type: ClusterIP admin: enabled: true type: ClusterIP # 启用管理员API http: enabled: true tls: enabled: false # 配置标签 nodeSelector: kong: "true" # 开启监控 serviceMonitor: enabled: true
-
配置节点标签
kubectl label node ${node} kong="true"
-
安装
helm install kong kong/kong \ --namespace kong \ --create-namespace \ -f kong-gateway-values.yaml
启用 Postgres 数据库
要启用 Postgres 数据库的话需要在 values.yaml 内添加如下内容:
# 对接外部数据库默认为不对接 postgres
# 官方 postgres 参数文档: https://docs.konghq.com/gateway/3.7.x/reference/configuration/#datastore-section
# 提示 pg_host 参数使用 svc 配置后组件启动可能会报错解析错误, 切换为 svc IP即可解决。
env:
database: "postgres"
pg_host: "kong-postgresql.kong.svc.cluster.local"
pg_port: "5432"
pg_user: kong
pg_password: kong
pg_database: kong
pg_ssl: false
pg_ssl_verify: false
router_flavor: "traditional"
nginx_worker_processes: "2"
proxy_access_log: /dev/stdout
admin_access_log: /dev/stdout
admin_gui_access_log: /dev/stdout
portal_api_access_log: /dev/stdout
proxy_error_log: /dev/stderr
admin_error_log: /dev/stderr
admin_gui_error_log: /dev/stderr
portal_api_error_log: /dev/stderr
prefix: /kong_prefix/
# 开启 postgresql
postgresql:
enabled: true
auth:
username: "kong"
password: "kong"
database: "kong"
卸载
-
卸载
helm uninstall kong -n kong
-
删除 PVC
kubectl delete pvc data-kong-postgresql-0 -n kong
-
删除命名空间
kubectl delete namespace kong