设置Perco雷竞技下载官网na XtraDB集群跨站点复制¶
跨站复制包括将一个Percona XtraDB Cluster配置为雷竞技下载官网源,另一个Percona Xt雷竞技下载官网raDB集群为副本允许在两者之间进行异步复制:
操作员自动配置源而且副本雷竞技下载官网Percona XtraDB集群,但该特性本身并不绑定到Kubernetes。要么源或副本可以在Kubernetes之外运行,是常规的MySQL,不受操作员的控制。
这个特性在很多情况下都很有用:例如,它可以通过复制简化从内部部署到云的迁移,而且在灾难恢复的情况下也非常有帮助。
请注意
跨站复制是基于自动异步复制连接故障切换.因此,它需要MySQL 8.0.22+ (Percona XtraDB C雷竞技下载官网luster 8.0.22+)才能工作。
介绍如何在不使用Operator的情况下设置MySQL进行异步复制在这里并且超出了本文的范围。
为操作员控制的集群配置跨站点复制将在以下小节中解释。
在Source实例上配置跨站点复制¶
你可以配置源实例进行跨站点复制spec.pxc.replicationChannels第部署/ cr.yaml配置文件。它是一个通道数组,您应该为您的源雷竞技下载官网Percona XtraDB集群:
pxc.replicationChannels。[]. name键是频道的名称,pxc.replicationChannels。[].isSource键应设置为真正的.
这里有一个例子:
规范:pxc:replicationChannels:-名字:pxc1_to_pxc2isSource:真正的
当您像往常一样应用更改时,集群将为异步复制做好准备:
$kubectl应用- f部署/ cr.yaml
暴露Percona XtraDB集群的实例雷竞技下载官网¶
的每个Percona XtraDB集群Pod雷竞技下载官网源集群来实现副本集群连接。这是通过pxc.expose章节。部署/ cr.yaml配置文件如下。
规范:pxc:暴露:启用:真正的类型:loadbalance
请注意
这将为每个Percona XtraDB集群Pod创建一个LoadBalancer。雷竞技下载官网在大多数情况下,为了跨区域复制工作,负载均衡器应该是面向互联网的。
要列出分配给PXC Pods的端点,请通过执行列出Kubernetes Service对象kubectl get services -l "app.kubernetes.io/instance=CLUSTER_NAME"命令。
在Replica实例上配置跨站点复制¶
你可以配置副本实例进行跨站点复制spec.pxc.replicationChannels第部署/ cr.yaml配置文件。它是一个通道数组,您应该为您的副本雷竞技下载官网Percona XtraDB集群:
pxc.replicationChannels。[]. name键是频道的名称,pxc.replicationChannels。[].isSource键应设置为假,pxc.replicationChannels。[].sourcesList是源副本应该从中获取数据的集群名称,pxc.replicationChannels。[][].host .sourcesList源的主机名或IP地址,pxc.replicationChannels。[][].port .sourcesList源的端口(3306如果没有指定,将使用端口),pxc.replicationChannels。[][].weight .sourcesList是重量源的(在连接失败的情况下,将根据加权优先级从列表中选择一个新源)。
下面是例子:
规范:pxc:replicationChannels:-名字:uspxc1_to_pxc2isSource:假sourcesList:-宿主:pxc1.source.雷竞技下载官网percona.com港口:3306重量:One hundred.-宿主:pxc2.source.雷竞技下载官网percona.com重量:One hundred.-宿主:pxc3.source.雷竞技下载官网percona.com重量:One hundred.-名字:eu_to_pxc2isSource:假sourcesList:-宿主:pxc1.source.雷竞技下载官网percona.com港口:3306重量:One hundred.-宿主:pxc2.source.雷竞技下载官网percona.com重量:One hundred.-宿主:pxc3.source.雷竞技下载官网percona.com重量:One hundred.
当您像往常一样应用更改时,集群将为异步复制做好准备:
$kubectl应用- f部署/ cr.yaml
请注意
你也可以配置SSL复制通道.以下选项允许您在加密通道上使用复制。设置replicationChannels.configuration.ssl键为true时,可选地启用主机名身份验证replicationChannels.configuration.sslSkipVerify键,然后设置replicationChannels.configuration.caCertificate Authority (CA)证书文件路径名称:
replicationChannels:-isSource:假名字:uspxc1_to_pxc2配置:ssl:真正的sslSkipVerify:真正的ca:“/ etc / mysql / ssl / ca.crt”...
复制系统用户¶
复制区域通道需要特殊配置系统用户两者都有相同的凭证源而且副本.
Operator创建一个系统级Percona XtraDB Cluste雷竞技下载官网r用户复制为此目的,凭证存储在Secret对象中与其他系统用户一起使用.
请注意
如果集群在Kubernetes之外,并且不在操作员的控制之下,具有必要权限的适当用户应该手动创建。
您可以通过以下方式修改该用户的密码:
$kubectl补丁秘密/ cluster1-secrets- p{“数据”:{“复制”:“$ (回声- nnew_password|base64——包装=0)““}}”
$kubectl补丁秘密/ cluster1-secrets- p{“数据”:{“复制”:“$ (回声- nnew_password|base64)““}}”
如果您已经更改了复制如果您使用的是Operator 1.9.0版本,则可以在Source集群上使用用户的密码复制未运行日志中出现错误信息,类似如下:
{“级别”:“信息”、“t”:1629715578.2569592,“调用”:“zapr / zapr。go 69","msg":"通道复制未运行。请检查复制状态","channel":"pxc2_to_pxc1"}
解决这个问题需要以下步骤。
使用以下命令找到操作员选择用于复制的副本Pod:
$kubectl得到豆荚——选择器雷竞技下载官网percona.com/replicationPod=真正的让shell访问这个Pod,并登录到MySQL监视器作为raybet雷竞技竞猜在线官网根用户:
$kubectl执行- cpxc——stdin——tty< pod_name >--/bin/bash bash - 4.4美元mysql-uroot-proot_password执行以下三个SQL命令来传播
复制源集群到副本的用户密码:停止副本IO_THREAD为通道“REPLICATION_CHANNEL_NAME美元”;改变主来MASTER_PASSWORD=“NEW_REPLICATION_PASSWORD美元”为通道“REPLICATION_CHANNEL_NAME美元”;开始副本IO_THREAD为通道“REPLICATION_CHANNEL_NAME美元”;