在 2 个虚拟机上创建集群拆分的解决方案

Solutions to create a cluster split on 2 VMs

我正在寻找一些线索,了解哪种解决方案可以帮助我解决 运行在 2 个虚拟机之间设置 kubernetes 集群的问题。

我从 Kubernetes 及其所有可能性开始,但像每个人一样,我从 minikube 单节点集群开始托管我的 4 个容器,分别托管 mongoDB、redis、rabbitMQ 和 minio。

我的想法是,我需要类似 minikube 的东西来创建这样的集群: 此外,这 2 个虚拟机将 运行 在 RedHat EL 7 上并且不会是本地的,它们可能托管在不同的机器上

是否可以使用 kubeadm 构建该架构?

响应是可以用kubeadm实现,它可以让你聚合不同的VM/hosts 以与 docker-swarm 相同的方式将它们订阅到集群中。

参见 how(感谢@Jason Stanley)


一些先决条件


如果您像我一样使用客户端基础架构,在 Red Hat 环境 上实施您的解决方案“内部部署”,你需要两三样东西。

  • 适当的docker环境
  • 图像注册表
  • 配置集群的简单方法

Docker环境

第一个,因为它是 docker 的限制,而 red hat 是使用 docker-ee 允许支持 red hat prod 的企业版,这就是为什么大多数人支付红色帽子订阅。

typical architecture using docker-ee and how to install that on Red Hat

本地镜像注册表

另外就是部署一个docker registry,这是Docker团队官方提供的image (documentation here),registry可以让你的集群拉取镜像来自它 - 您在设置所有内容时将推入内部的图像 - 请注意,这在您的 VM/hosts 无法访问互联网或使用代理的受限环境中是相关的。

集群设置工具

一个方便的工具是使用 helm,它允许您通过引用哪些映像提供给定服务、在哪个端口上使用哪些策略来轻松设置集群。

Helm documentation