内容提要
本文介绍了在Kubernetes上运行Percona Monitoring and Management(PMM)服务器并监控运行在Kubernetes集群外的数据库的常见情况。使用Ingress NGINX Controller来管理K8s的入站流量是最受欢迎的选择之一。文章提供了在Kubernetes上安装PMM服务器和配置PMM客户端的详细步骤,并介绍了如何将流量路由到Kubernetes集群。最后,文章强调了PMM服务器和客户端之间通信所需的gRPC框架的重要性。
关键要点
-
在Kubernetes上运行Percona Monitoring and Management(PMM)服务器并监控外部数据库的常见场景。
-
Ingress NGINX Controller是管理K8s入站流量的流行选择,作为反向代理和负载均衡器。
-
PMM客户端和服务器之间的通信需要gRPC框架,确保其被允许以避免连接问题。
-
安装PMM服务器的步骤包括创建密钥、添加Percona Helm仓库和执行Helm安装命令。
-
使用Helm安装PMM服务器后,可以通过Helm列表命令确认其正确部署。
-
流量路由到Kubernetes的典型用例是根据主机名路由流量到特定的K8s后端服务。
-
可以通过Helm或YAML清单安装ingress-nginx控制器,并创建相应的YAML文件。
-
Ingress-nginx控制器将监听80和443端口,并分配外部IP。
-
需要在DNS中添加指向NGINX外部IP的“DNS A”记录,以便根据主机名路由流量。
-
创建Ingress以将外部流量路由到PMM服务器,并确保使用gRPC协议进行通信。
-
配置外部PMM客户端以监控K8s PMM服务器,确保gRPC通信正常。
-
PMM是一个开源数据库监控解决方案,支持MySQL、PostgreSQL和MongoDB等数据库。
延伸问答
如何在Kubernetes上安装Percona Monitoring and Management(PMM)服务器?
首先创建密钥,然后添加Percona Helm仓库,最后执行Helm安装命令。
什么是Ingress NGINX Controller,它的作用是什么?
Ingress NGINX Controller是管理Kubernetes入站流量的流行选择,充当反向代理和负载均衡器。
PMM客户端和服务器之间的通信需要什么?
PMM客户端和服务器之间的通信需要gRPC框架,以确保连接正常。
如何将流量路由到Kubernetes集群中的特定服务?
可以通过创建Ingress对象并配置相应的规则,将流量根据主机名路由到特定的K8s后端服务。
在DNS中需要添加什么记录以支持流量路由?
需要添加指向NGINX外部IP的“DNS A”记录,以便根据主机名路由流量。
PMM支持哪些数据库?
PMM支持MySQL、PostgreSQL和MongoDB等数据库。