142 lines
2.6 KiB
Markdown
142 lines
2.6 KiB
Markdown
> 本文作者:丁辉
|
||
|
||
# Helm部署KongGateway
|
||
|
||
[官方安装文档](https://docs.konghq.com/gateway/latest/install/kubernetes/proxy/) [Github仓库](https://github.com/pantsel/konga)
|
||
|
||
## 介绍
|
||
|
||
Kong Gateway是一个**基于Nginx和OpenResty实现的云原生分布式API网关,具有高性能、高可用特点**。
|
||
|
||
## 开始部署
|
||
|
||
1. 添加 Helm 仓库
|
||
|
||
```bash
|
||
helm repo add kong https://charts.konghq.com
|
||
helm repo update
|
||
```
|
||
|
||
2. 编辑 values.yaml
|
||
|
||
```bash
|
||
vi kong-gateway-values.yaml
|
||
```
|
||
|
||
内容如下
|
||
|
||
```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
|
||
```
|
||
|
||
3. 配置节点标签
|
||
|
||
```bash
|
||
kubectl label node ${node} kong="true"
|
||
```
|
||
|
||
4. 安装
|
||
|
||
```bash
|
||
helm install kong kong/kong \
|
||
--namespace kong \
|
||
--create-namespace \
|
||
-f kong-gateway-values.yaml
|
||
```
|
||
|
||
|
||
## 启用 Postgres 数据库
|
||
|
||
要启用 Postgres 数据库的话需要在 values.yaml 内添加如下内容:
|
||
|
||
```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"
|
||
```
|
||
|
||
## 卸载
|
||
|
||
1. 卸载
|
||
|
||
```bash
|
||
helm uninstall kong -n kong
|
||
```
|
||
|
||
2. 删除 PVC
|
||
|
||
```bash
|
||
kubectl delete pvc data-kong-postgresql-0 -n kong
|
||
```
|
||
|
||
3. 删除命名空间
|
||
|
||
```bash
|
||
kubectl delete namespace kong
|
||
```
|
||
|
||
|