我为我们的 kubernetes 部署了 kong 入口控制器,我们正在使用它来路由我们的微服务。
现在我想公开我的管理 API 以使用其他功能并获取监控统计信息。请有人可以帮助我。
没有任何文件可以帮助我解决这个问题。
我为我们的 kubernetes 部署了 kong 入口控制器,我们正在使用它来路由我们的微服务。
现在我想公开我的管理 API 以使用其他功能并获取监控统计信息。请有人可以帮助我。
没有任何文件可以帮助我解决这个问题。
假设我们专注于:
管理 API
这是 Kong 公开其管理 API 的端口。因此在生产中,这个端口应该被防火墙保护以防止未经授权的访问。
8001
提供 Kong 的Admin API,您可以使用它来通过 HTTP 操作 Kong。请参阅admin_listen。8444
提供相同的 Kong Admin API,但使用 HTTPS。请参阅admin_listen和 ssl 后缀。
从 Kubernetes/GKE 的角度来看,您可以使用以下任一方式访问此端口:
$ kubectl port-forward deployment/ingress-kong -n kong 8444:8444
:
https://localhost:8444
从主机查询Service
:
Service
Kong IngressDeployment
Kong Ingress旁注!
您也可以使用
Ingress
资源公开它,但您需要创建一个Service
指向 的Admin API
,修改Deployment
并应用Ingress
指向此的资源Service
专注于通过以下方式公开此 API Service
:
Service
:kong-proxy
并添加: - name: api
protocol: TCP
port: 8444
targetPort: 8444
Deployment
:kong-ingress
- name: KONG_ADMIN_LISTEN
value: 0.0.0.0:8444 ssl # <-- from 127.0.0.1
重要的!
上述编辑会将您的 API 暴露给外部来源(假设与您的最后一个问题与 GKE 的内部 lb 没有任何联系)。请参阅 Kong 的文档以获取有关此问题的支持:
其他资源: