You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Api 可以通过减少依赖的方式,进行服务降级。即在所有依赖都无法启动的情况下,api服务可以进行基本的通信,和保证部分接口可以正常使用,能把问题对外暴露。存储考虑有其他本地存储的方案,能直接替换。例如OpenEBS、localpath等
这样当依赖服务不正常时,只会影响使用到这些依赖的地方,而不是整个平台不可用。
The text was updated successfully, but these errors were encountered:
目的:
当前用户在安装之后,重启服务器或重启容器,经常性的会遇到集群通信异常的问题。如:#1766 #1294 因此为了解决用户遇到集群通信异常时不会排查或难以排查的问题。需要尽可能减少API服务的依赖,确保在K8s正常的情况下,可以对外提供有限服务。
现有问题分析:
当前根据产品安装方式不同,控制台与集群的通信使用的通信方式也不同。
一键安装:一键安装主要通过K8s Service 与集群端通信,与网关服务、防火墙无关,因此它主要依赖 rbd-api 服务正常工作,但 rbd-api 正常工作依赖于 rbd-monitor、etcd、db、本地存储等四方面。因此主要需要排查导致 api 服务无法正常工作的原因。目前已发现问题:
基于主机安装:基于主机安装主要通过rbd-gateway访问到rbd-api。主要依赖于rbd-gateway、和 rbd-api正常工作。主要考虑rbd-gateway 、rbd-api是否正常运行。端口是否被防火墙阻止等问题。
Helm安装:Helm安装与集群通信通过K8s Service 通信,依赖于 CoreDns 解析、rbd-api服务正常工作,与一键安装类似。
问题总结:
基础设施:K8s可用
依赖服务:rbd-monitor、etcd、db、存储可用
Region服务:rbd-api可用
网络服务:CoreDNS、rbd-gateway服务可用、防火墙规则
解决方案:
对于明确的问题且我们可以掌控的问题,直接进行解决。
已明确的问题:
一键安装的在强制重启机器后api无法连接到 etcd ,导致api无法启动。该问题是k3s dns无法解析 rbd-etcd 地址导致的,etcd 实际可用。可以考虑在一键安装的版本中,api使用 hostNetwork 模式。【需要验证service不通时,用户业务是否可用?】
对于不明确的问题:
Api 可以通过减少依赖的方式,进行服务降级。即在所有依赖都无法启动的情况下,api服务可以进行基本的通信,和保证部分接口可以正常使用,能把问题对外暴露。存储考虑有其他本地存储的方案,能直接替换。例如OpenEBS、localpath等
这样当依赖服务不正常时,只会影响使用到这些依赖的地方,而不是整个平台不可用。
The text was updated successfully, but these errors were encountered: