跳到内容
标志
雷竞技下载官网MongoDB的Percona操作符
多集群、多区域部署
初始化搜索
    雷竞技下载官网percona / k8spsmdb-docs
    雷竞技下载官网percona / k8spsmdb-docs
    • 欢迎
      • 设计和架构
      • 与其他方案的比较
      • 与头盔一起安装
      • 使用kubectl安装
      • 系统需求
      • 安装在Minikube上
      • 安装在谷歌Kubernetes引擎(GKE)上
      • 安装在Amazon Elastic Kubernetes服务(AWS EKS)上
      • 安装到Microsoft Azure Kubernetes服务(AKS)
      • 通用Kubernetes安装
      • 安装在OpenShift上
      • 应用和系统用户
      • 更改MongoDB选项
      • 反亲和和容忍
      • 标签和注释
      • 暴露集群
      • 本地存储支持
      • 仲裁节点和无投票节点
      • MongoDB分片
      • 传输加密(TLS/SSL)
      • 静止数据加密
      • 遥测
        • 关于备份
        • 为备份配置存储
        • 进行定时备份
        • 按需备份
        • 存储操作日志,用于实时恢复
        • 从以前保存的备份恢复
        • 删除不需要的备份
      • 升级MongoDB和Operator
      • 水平和垂直缩放
      • 多集群、多区域部署
        • 公开MongoDB集群的实例
        • 在主站点配置跨站点复制
          • 获取要从主副本复制到副本的集群秘密和证书
        • 在Replica实例上配置跨站点复制
        • 启用多集群服务
          • 将MCS应用到现有集群
      • raybet雷竞技竞猜在线官网使用Percona监视和管雷竞技下载官网理(PMM)进行监视
      • 添加挎斗容器
      • 重新启动或暂停集群
      • 调试和故障排除
      • OpenLDAP集成
      • 如何使用私有注册表
      • 创建用于备份的私有s3兼容云
      • 将备份恢复到新的基于kubernetes的环境
      • 如何使用备份将外部数据库移动到Kubernetes
      • 以多命名空间(集雷竞技下载官网群范围)的方式安装Percona Server for MongoDB
      • 手动升级MongoD雷竞技下载官网B的Percona服务器
      • 自定义资源选项
      • 雷竞技下载官网经过Percona认证的图像
      • 运营商API
      • 常见问题
      • 旧版本(文档存档)
      • 发行说明索引
      • 雷竞技下载官网Percona Operator for MongoDB 1.14.0 (2023-03-13)
      • 雷竞技下载官网Percona Operator for MongoDB 1.13.0 (22-09-15)
      • 雷竞技下载官网Percona Operator for MongoDB 1.12.0 (2022-05-05)
      • 雷竞技下载官网Percona Distribution for MongoDB Operator 1.11.0 (2021-12-21)
      • 雷竞技下载官网Percona Distribution for MongoDB Operator 1.10.0 (2021-09-30)
      • 雷竞技下载官网Percona Distribution for MongoDB Operator 1.9.0 (21-07-29)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona Server for MongoDB 1.8.0 (21-05-06)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona Server for MongoDB 1.7.0 (2021-03-08)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona Server for MongoDB 1.6.0 (2020-12-22)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona Server for MongoDB 1.5.0 (2020-09-07)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona Server for MongoDB 1.4.0 (2020-03-31)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona Server for MongoDB 1.3.0 (2019-12-11)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona Server for MongoDB 1.2.0 (2019-09-20)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona Server for MongoDB 1.1.0 (2019-07-15)
      • 雷竞技下载官网Percona Kubernetes Operator for Percona Server for MongoDB 1.0.0 (2019-05-29)

    • 公开MongoDB集群的实例
    • 在主站点配置跨站点复制
      • 获取要从主副本复制到副本的集群秘密和证书
    • 在Replica实例上配置跨站点复制
    • 启用多集群服务
      • 将MCS应用到现有集群

    为MongoD雷竞技下载官网B跨站复制设置Percona Server¶

    跨站点复制包括将一个MongoDB站点配置为主要,而另一个MongoDB站点为副本允许它们之间的复制:

    图像

    操作员自动配置主要而且副本MongoDB站点,但是该特性本身并不绑定到Kubernetes。要么主要或副本可以在Kubernetes之外运行,是常规的MongoDB,不受运营商的控制。

    这个特性在以下几种情况下很有用:

    • 简化MongoDB集群到Kubernetes的迁移
    • 将远程节点添加到容灾副本集中

    为操作员控制的集群配置跨站点复制将在以下小节中解释。

    公开MongoDB集群的实例¶

    您需要通过专用服务公开所有副本集节点(包括配置服务器)来确保主要而且副本可以互相接触,就像一个完整的网格:

    图像

    请注意

    从v1.14开始,操作人员使用本地DNS主机名配置replset,即使replset是公开的。如果您希望在replset配置中有IP地址以实现多集群部署,则需要设置clusterServiceDNSMode来外部.

    这是通过replsets.expose,sharding.configsvrReplSet.expose,sharding.mongos.expose的部分部署/ cr.yaml配置文件如下。

    规范:replset:-rs0:暴露:启用:真正的exposeType:loadbalance...分片:configsvrReplSet:暴露:启用:真正的exposeType:loadbalance...

    上面的例子是使用LoadBalancer Kubernetes Service对象,但是还有其他选项(ClusterIP, NodePort等)。

    请注意

    上面的例子将为每个Replica Set Pod创建一个LoadBalancer。在大多数情况下,这个负载均衡器应该是面向internet的,以便跨区域复制工作。

    要列出分配给Pods的端点,请通过执行列出Kubernetes Service对象kubectl get services -l "app.kubernetes.io/instance=CLUSTER_NAME"命令。

    在主站点配置跨站点复制¶

    操作员管理的集群应该能够到达副本集的外部节点。您可以在replsets.externalNodes而且sharding.configsvrReplset.externalNodes的子章节部署/ cr.yaml配置文件。下面的键可以设置为指定每个外部副本,它的副本集和配置服务器实例:

    • 集宿主到外部replset实例的URL或IP地址,
    • 集港口外部节点的端口号(或依赖于27017默认值),

    可选的,您可以设置以下附加键:

    • 优先级键设置优先级外部节点(2默认为集群的所有本地成员;外部节点应具有较低的优先级,以避免非托管节点被选为主节点;0将节点添加为无投票权的成员),
    • 票Key设置的号码票外部节点可以在复制集选举中强制转换(0默认情况下,0对于集群中的无投票权成员)。

    这里有一个例子:

    规范:非托管:假replset:-名字:rs0externalNodes:-宿主:rs0 - 雷竞技下载官网1. percona.com港口:27017优先级:0票:0-宿主:rs0 - 雷竞技下载官网2. percona.com...分片:configsvrReplSet:大小:3.externalNodes:-宿主:cfg - 雷竞技下载官网1. percona.com港口:27017优先级:0票:0-宿主:cfg - 雷竞技下载官网2. percona.com...

    的主要当您像往常一样应用更改时,站点将准备好进行复制:

    $kubectl应用- f部署/ cr.yaml

    获取要从主副本复制到副本的集群秘密和证书¶

    主要而且副本应该具有相同的Secrets对象(具有相同的用户凭证)和证书。所以你可能需要从主要.属性中设置对应对象的名称用户,ssl,sslInternal自定义资源的键秘密第(my-cluster-name-secrets,my-cluster-name-ssl,my-cluster-name-ssl-internal默认情况下)。

    方法从现有集群中获取secretKubectl得到秘密命令每一个你想获得的秘密对象:

    $kubectl得到秘密my-cluster-name-secrets- oyaml>my-cluster-secrets.yaml

    接下来删除注释,creationTimestamp,resourceVersion,selfLink,uid的元数据字段,以便为副本.

    您将需要在Replica上进一步应用这些秘密。

    在Replica实例上配置跨站点复制¶

    当Operator创建一个新集群时,会发生很多事情,比如选择Primary、生成证书和选择特定的名称。如果我们希望运算符运行副本站点,因此首先应该通过设置将集群置于非托管状态非托管输入部署/ cr.yaml配置文件为true。你还应该设置updateStrategy关键OnDelete而且backup.enabled来假,因为智能更新而且备份在非托管集群上不允许。

    请注意

    设置非托管设置为true不仅会阻止Operator控制Replica Set配置,而且还会导致不能为新集群生成证书和用户凭证。

    这里有一个例子:

    规范:非托管:真正的updateStrategy:OnDeletereplset:-名字:rs0大小:3....备份:启用:假...

    主要而且副本网站应该有相同的Secrets对象,所以不要忘记从你的应用Secrets主要网站。属性中设置对应对象的名称用户,ssl,sslInternal自定义资源的键秘密第(my-cluster-name-secrets,my-cluster-name-ssl,my-cluster-name-ssl-internal默认情况下)。

    从现有集群复制您的秘密,并将它们应用到您的副本地点如下:

    $kubectl应用- fmy-cluster-secrets.yaml

    的副本当您像往常一样应用更改时,站点将准备好进行复制:

    $kubectl应用- f部署/ cr.yaml

    启用多集群服务¶

    Kubernetes多集群服务(MCS)是服务的跨集群发现和调用。支持mcs的服务可以通过虚拟IP地址跨集群发现和访问。

    该特性允许将应用程序拆分为多个集群并组合在一起舰队,可用于分离逻辑上独立的部分(即有状态部分和无状态部分),或解决隐私和可伸缩性需求等。

    云提供商应该支持多集群服务。是支持的Kubernetes Engine (GKE),Amazon Elastic Kubernetes Service (EKS).

    为多集群服务配置集群包括两部分:

    • 与云供应商一起配置MCS,
    • 与操作员一起做好必要的准备工作。

    要为特定的云提供商设置MCS,您应该遵循官方指南,例如from谷歌Kubernetes Engine (GKE),或来自Amazon Elastic Kubernetes Service (EKS).

    警告

    对于EKS,还需要在启用多集群服务之前创建ClusterProperty对象。

    apiVersion:about.k8s.io / v1alpha1种类:ClusterProperty元数据:名字:cluster.clusterset.k8s.io规范:价值:[您的集群标识符]---apiVersion:about.k8s.io / v1alpha1种类:ClusterProperty元数据:名字:clusterset.k8s.io规范:价值:[您的ClusterSet标识符]

    检查AWS MCS控制器存储库获取更多信息。

    为MCS设置Operator会导致注册Services以导出到其他集群使用ServiceExport对象,并使用ServiceImport 1导入外部服务。中设置以下选项multiCluster第部署/ cr.yaml配置文件,使它发生:

    • multiCluster.enabled应该设置为真正的,
    • multiCluster。DNSSuffix字符串应该等于Kubernetes使用的多集群服务的集群域后缀(svc.clusterset.local默认情况下).

    下面的例子部署/ cr.yaml配置文件相当简单:

    ...multiCluster:启用:真正的DNSSuffix:svc.clusterset.local...

    类像往常一样应用更改Kubectl apply -f deploy/cr.yaml命令。

    请注意

    如果希望在新集群中启用多集群服务,建议首先使用multiCluster.enabled设置为假并在replset初始化后启用它。从一开始就启用MCS很容易在replset初始化时出错。

    最初的ServiceExport创建和与舰队集群的同步大约需要5分钟。您可以使用以下命令查看需要导出和导入的服务列表。

    $kubectl得到serviceexport
    预期的输出
    NAME AGE my-cluster-name-cfg 22m my-cluster-name-cfg-0 22m my-cluster-name-cfg-1 22m my-cluster-name-cfg-2 22m my-cluster-name-mongos 22m my-cluster-name-rs0 22m my-cluster-name-rs0-1 22m my-cluster-name-rs0-2 22m my-cluster-name-rs0-1 22m my-cluster-name-rs0-2 22m
    $kubectl得到serviceimport
    预期的输出
    名称类型IP年龄my-cluster-name-cfg无头22米my-cluster-name-cfg-0 ClusterSetIP(“10.73.200.89”)22米my-cluster-name-cfg-1 ClusterSetIP(“10.73.192.104”)22米my-cluster-name-cfg-2 ClusterSetIP(“10.73.207.254”)22米my-cluster-name-mongos ClusterSetIP(“10.73.196.213”)22 m my-cluster-name-rs0无头22 m my-cluster-name-rs0-0 ClusterSetIP(“10.73.206.24”)22米my-cluster-name-rs0-1 ClusterSetIP(“10.73.207.20”)22米my-cluster-name-rs0-2 ClusterSetIP“10.73.193.92”22米

    请注意

    ServiceExport对象由Percona Server for MongoDB Operator自动创建雷竞技下载官网。另一方面,ServiceImport对象不受操作符控制。如果需要对ServiceImport对象进行故障排除,则必须检查云提供商安装的MCS控制器。

    创建ServiceExport对象后,导出的服务可以从任何舰队集群中的任何Pod解析为SERVICE_EXPORT_NAME.NAMESPACE.svc.clusterset.local.

    请注意

    这意味着具有相同名称和名称空间的ServiceExports将被识别为单个组合服务。

    MCS可以对跨站点复制收费,但附加了特定于云提供商的限制。例如,GKE要求所有参与pod的人都在同一个pod中项目.同时,默认的命名空间应该谨慎使用:您的云提供商可能不允许将服务从该集群导出到其他集群。

    将MCS应用到现有集群¶

    需要其他操作来打开MCS已经存在的非mcs集群.

    • 文件编辑完成后,需要重新启动操作符multiCluster分段键和应用部署/ cr.yaml.类的输出中查找操作员的Pod名称库贝特尔去拿吊舱命令(它将类似于雷竞技下载官网percona-server-mongodb-operator-d859b69b6-t44vk),并按如下方式删除:

      $kubectl删除雷竞技下载官网percona-server-mongodb-operator-d859b69b6-t44vk
    • 如果从Operator版本升级后正在运行的集群启用MCS1.11.0或以下,您需要旋转多域(SAN)证书。这样做暂停集群和删除TLS的秘密.

    联系我们

    如需免费技术帮助,请访问Percona雷竞技下载官网社区论坛.

    要报告错误或提交功能请求,请打开JIRA票。

    付费支持而且管理或咨询服务,请联系雷竞技下载官网Percona销售.


    最近更新:2023-03-31
    雷竞技下载官网Percona LLC和/或其附属公司,©2009 - 2023
    用MkDocs材料

    饼干的同意

    我们使用cookie来识别您的重复访问和偏好,以及衡量我们文档的有效性,以及用户是否找到他们正在搜索的内容。在您的同意下,您正在帮助我们改进我们的文档。

    Baidu
    map