我为我们的kubernetes部署了kong入口控制器,我们正在使用它来路由我们的微服务。
现在我想公开我的管理员API来使用其他功能并获取监控统计信息。请有人帮我一下。
这些文件对我没有任何帮助。
假设我们关注的是:
管理员API
这是Kong公开其管理层API的端口。因此,在生产过程中,该端口应设置防火墙,以防止未经授权的访问。
8001
提供了Kong的管理API,您可以使用该API通过HTTP操作Kong。请参阅admin_listen8444
提供相同的Kong管理员API,但使用HTTPS。请参阅admin_listen和ssl后缀--Docs.konghq.com:2.3.X:配置:管理员监听
从Kubernetes/GKE的角度来看,您可以通过以下任一方式访问这些端口:
$ kubectl port-forward deployment/ingress-kong -n kong 8444:8444
:- 此选项允许您从主机查询
https://localhost:8444
- 此选项允许您从主机查询
Service
:- 修改孔的
Service
- 修改孔的
Deployment
- 修改孔的
旁注!
您也可以使用
Ingress
资源公开它,但您需要创建一个指向Admin API
的Service
,修改Deployment
并应用指向该Service
的Ingress
资源
专注于使用Service
:公开此API
- 编辑
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无关(。有关这方面的支持,请参阅香港的文件:
- Docs.konghq.com:Gateway OSS:2.3.X:安全管理api
其他资源:
- Kubernetes:io:Docs:Tasks:Access应用程序集群:端口转发访问应用程序集群
- Kubernetes.io:文档:概念:服务网络:服务