我们公司正在开发一个应用程序,它在3个不同版本的独立kubernetes集群中运行(生产、暂存、测试)。我们需要随着时间的推移监控我们的集群和应用程序(指标和日志)。我们还需要运行一个邮件服务器。
所以基本上我们有3个不同的环境和不同版本的应用程序。我们有一些共享服务只需要运行,我们不太关心它们:
我不确定在哪里运行这些外部共享服务。我找到了这些选项:
我们需要为3个环境安装3次工具。
骗局:
我们将共享工具安装在一个额外的kubernetes集群中。
骗局:
我们在旧学校根服务器上运行docker容器。
骗局:
我试图用谷歌搜索这个问题,但我找不到任何关于这个主题的信息。有人能给我一个提示或一些关于这个主题的链接吗?或者集群可能会宕机只是没有相关问题?
对我来说,第二种选择听起来不那么邪恶,但我还不能估计是否很难将数据从一个集群传输到另一个集群。
重要的问题是:
OpenTelekomCloud
中运行kubernetes,基本上是OpenStack
)?谢谢你的提示,
马吕斯
这是一个非常复杂和哲学的话题,但我会给你我的观点和一些事实来支持它。
我认为最好的方法是第二种-创建一个额外的集群,这就是为什么:
>
您需要一个可以从任何环境访问的点。使用单独的集群,您可以在所有环境中设置相同的防火墙规则、路由等,并且不会影响您当前的工作负载。
是的,您需要多付一点钱。但是,您需要资源来运行共享应用程序,与应用程序相比,库伯内特斯基础架构的开销并不高。
使用单独的集群,您可以设置真正的HA解决方案,登台和开发集群可能不需要该解决方案,因此您无需多次付费。
从技术上讲,这也没问题。您可以使用Heapster从多个集群收集数据;几乎任何日志记录解决方案也可以与多个集群一起使用。所有其他应用程序都可以在单独的集群上运行,这就是您需要对它们执行的所有操作。
现在,关于你的问题:
集群中有监控-数据是否有问题,因为如果集群离线,则无法看到监控-数据?
不,不是单独集群的问题。
为共享服务添加一个不应该对应用程序的其他部分产生影响的集群是否是常见做法?
我想,是的。至少我做过几次,我知道一些类似架构的其他项目。
是否(很容易)可以将度量和日志从一个kubernetes集群发送到另一个集群(我们在基本上是OpenStack的OpenTelekomCloud中运行kubernetes)?
是的,那里没有什么复杂的。通常,它不依赖于平台。