使用Calico作为CNI插件在不同Kubernetes集群中的主服务器和从服务器进行MySQL复制

时间:2019-03-21 14:58:42

标签: mysql kubernetes project-calico

我有一个Kubernetes集群,其中有一些MySQL数据库。

我想为不同数据中心中不同Kubernetes集群中的每个数据库提供一个复制从属。

我正在使用Calico作为CNI插件。

要使复制过程正常进行,从属服务器必须能够连接到主服务器的端口3306。而且,我希望这些连接尽可能保持隔离。

我想知道管理此问题的最佳方法。

enter image description here

1 个答案:

答案 0 :(得分:1)

实现您的想法的一种方法是使用名为Submariner的新工具。

Submariner支持在Prem或云中的不同Kubernetes集群中的Pod之间进行直接联网。

此新解决方案克服了Kubernetes集群之间连接的障碍,并允许许多新的多集群实现,例如,跨地理区域的Kubernetes中的数据库复制和跨集群部署服务网格。 >

Submariner的主要功能包括:

与现有集群的兼容性和连通性:用户可以将Submariner部署到现有Kubernetes集群中,并在不同集群中的Pod之间添加第3层网络连通性。

安全路径:使用IPSec隧道实现加密的网络连接。 多种连接机制:尽管IPsec是开箱即用的默认连接机制,但Rancher将在不久的将来启用不同的互连插件。

集中经纪人:用户可以注册和维护一组健康的网关节点。

灵活的服务发现:Submariner在多个Kubernetes集群之间提供服务发现。

CNI兼容性:可与流行的CNI驱动程序一起使用,例如Flannel和 Calico

Prerequisites来使用它:

至少3个Kubernetes集群,其中一个被指定为中央代理,所有已连接的集群均可访问该集群;这可能是您所连接的群集之一,但局限性在于该群集必须启动才能促进互连/协商

集群之间的集群/服务CIDR不同(以及不同的Kubernetes DNS后缀)。这是为了防止流量选择器/策略/路由冲突。

实例之间通过Internet(如果不在Internet上运行Submariner,则在同一网络上)之间的直接IP连接。 Submariner支持1:1 NAT设置,但是在此配置中有一些警告/提供商特定的配置说明。

每个群集的网络配置知识

支持crd-install hook(v2.12.1 +)的头盔版本

您可以在submariner github上找到有关安装步骤的更多信息。 另外,您可能会发现rancher submariner multi-cluster article有趣且有用。

祝你好运。