孤独的狼
2024 年12 月 6 日 10:35
#1
【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】5.7.25-OceanBase_CE-v4.3.4.0
【问题描述】清晰明确描述问题
ob 的租户已经添加了白名单的用户,但是客户端在k8s里面的应用程序还是连接不上,提示连接报错是Connect Timeout expired.
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手 ] 即可召唤小助手,欢迎试用!
论坛小助手
2024 年12 月 6 日 10:36
#3
根据文档库中的信息,您的问题可能是由于以下几个方面导致的:
网络问题 :
请确保 Kubernetes 集群内的应用程序能够正常访问到 OceanBase 数据库所在的网络。可以尝试从 Kubernetes 集群内部 ping 测试数据库服务器的 IP 地址,确保网络连通性。
检查 Kubernetes 集群的网络配置,确保没有防火墙规则或其他网络策略阻止应用程序与数据库之间的通信。
OBProxy 配置问题 :
如果您是通过 OBProxy 连接到 OceanBase 数据库的,请确保 OBProxy 的配置正确,并且 OBProxy 服务在 Kubernetes 集群内正常运行。
检查 OBProxy 的日志文件,查看是否有任何错误信息或警告,这些信息可能有助于定位问题。
租户白名单配置 :
确认租户白名单配置是否正确。虽然您提到已经添加了白名单用户,但仍需检查 ob_tcp_invited_nodes
系统变量的设置,确保 Kubernetes 集群内的应用程序 IP 地址在白名单中。
您可以通过以下 SQL 语句查询当前租户的白名单配置:SHOW VARIABLES LIKE 'ob_tcp_invited_nodes';
如果需要修改白名单,可以使用以下 SQL 语句:ALTER SYSTEM SET ob_tcp_invited_nodes = '192.168.1.%,10.10.10.1' SCOPE=BOTH;
连接超时设置 :
Kubernetes 服务配置 :
确认 Kubernetes 服务配置是否正确,特别是服务的 ClusterIP
和 NodePort
是否正确指向了 OBProxy 或 OceanBase 数据库的 IP 和端口。
检查 Kubernetes 服务的 Endpoints
,确保它们正确地指向了后端的 Pod。
日志分析 :
收集并分析应用程序、OBProxy 和 OceanBase 数据库的日志文件,查找任何可能的错误信息或异常情况。
使用 obdiag
工具收集诊断信息,可以帮助您更全面地了解问题的根源。
如果您已经检查了上述所有方面但问题仍然存在,建议联系 OceanBase 的技术支持团队,获取进一步的帮助和支持。
检索到的文档如下:
客户端连接
主备租户自动路由
连接诊断
使用 obd 部署 ODP
基本操作
配置全局唯一的 Client Session ID
通过 OBClient 连接 OceanBase 租户
访问控制概述
网络安全访问控制
通过 MySQL 客户端连接 OceanBase 租户
恢复完成后升级租户
访问控制
锁定和解锁用户
孤独的狼
2024 年12 月 6 日 13:41
#5
ob的白名单不是只有一个吗,还有其他的白名单吗控制
论坛小助手
2024 年12 月 6 日 13:48
#6
根据文档库中的信息,OceanBase 数据库确实提供了多个不同类型的白名单机制,用于不同的访问控制场景。以下是几种常见的白名单机制及其用途:
租户白名单 :
OBProxy 白名单 :
OBcdc 白名单 :
ODP 黑白名单 :
用途 :控制 ODP 在访问 OBServer 节点时的行为,包括错峰合并、升级、leader 切换、宕机、启动和停止等过程中的访问控制。
配置方式 :通过 ODP 的配置参数设置。
示例 :
状态黑名单 :根据 OBServer 节点的状态进行访问控制。
探测黑名单 :通过定期探测 OBServer 节点的健康状况进行访问控制。
活不可用黑名单 :根据业务 SQL 的执行结果进行访问控制。
总结
租户白名单 :用于控制哪些客户端可以访问当前租户。
OBProxy 白名单 :用于控制通过 OBProxy 访问 OceanBase 数据库的客户端。
OBcdc 白名单 :用于控制 OBcdc 同步的数据表。
ODP 黑白名单 :用于控制 ODP 在访问 OBServer 节点时的行为。
每种白名单机制都有其特定的用途和配置方式,您可以根据实际需求选择合适的白名单机制进行配置。如果您需要进一步的帮助或详细的配置步骤,请参考相关文档或联系 OceanBase 的技术支持团队。
检索到的文档如下:
网络安全访问控制
通过 API 修改指定租户的访问白名单
ODP 使用黑名单机制自适应处理 OBServer 节点的错峰合并、升级、leader 切换、宕机、启动和停止等过程中的 OBServer 节点访问控制
obcdc 兼容 OceanBase 数据库 V3.X 的黑白名单功能
具体信息可参考以下文档:
obcdc 黑白名单
访问控制概述
黑名单机制
网络安全访问控制
访问控制
修改租户访问白名单
(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)
辞霜
2024 年12 月 6 日 15:00
#7
OBProxy 正常默认是不配置的。
先查一下网络是否可以正常访问