跳到内容
标志
雷竞技下载官网PostgreSQL的Percona操作符
反亲和和容忍
初始化搜索
    雷竞技下载官网percona / k8spg-docs
    雷竞技下载官网percona / k8spg-docs
    • 欢迎
      • 系统需求
      • 设计和架构
      • 与其他方案的比较
      • 安装在Minikube上
      • 与头盔一起安装
      • 安装在谷歌Kubernetes引擎(GKE)上
      • 通用Kubernetes安装
      • 安装在OpenShift上
      • 应用和系统用户
      • 更改PostgreSQL选项
      • 反亲和和容忍
        • 亲和与反亲和
        • 简单的方法——基于nodeLabel配置节点亲缘关系
          • 先进的方法-使用标准Kubernetes约束
          • 默认亲和性规则
        • 的纵容
      • 传输加密(TLS/SSL)
      • 遥测
      • 备份和恢复
      • 升级Postgr雷竞技下载官网eSQL和Operator的Percona发行版
      • 水平和垂直缩放
      • raybet雷竞技竞猜在线官网使用Percona监视和管雷竞技下载官网理(PMM)进行监视
      • 重新启动或暂停集群
      • 部署容灾备集群
      • 为Postgre雷竞技下载官网SQL单命名空间和多命名空间部署提供Percona Operator
      • 使用PostgreSQL表空间和Percona Operator雷竞技下载官网
      • 创建用于备份的私有s3兼容云
      • 自定义资源选项
      • 操作员安装选项
      • 雷竞技下载官网经过Percona认证的图像
      • 常见问题
      • 发行说明索引
      • 雷竞技下载官网Percona Operator for PostgreSQL 1.4.0 (2023-03-31)
      • 雷竞技下载官网Percona Operator for PostgreSQL 1.3.0 (22-08-04)
      • 雷竞技下载官网Percona Operator for PostgreSQL 1.2.0 (22-04-06)
      • 雷竞技下载官网Percona Operator for PostgreSQL 1.1.0 (2021-12-07)
      • 雷竞技下载官网Percona Operator for PostgreSQL 1.0.0 (21-10-07)
      • 雷竞技下载官网Percona Operator for PostgreSQL 0.2.0 (21-08-12)
      • 雷竞技下载官网Percona Operator for PostgreSQL 0.1.0 (21-05-10)

    • 亲和与反亲和
    • 简单的方法——基于nodeLabel配置节点亲缘关系
      • 先进的方法-使用标准Kubernetes约束
      • 默认亲和性规则
    • 的纵容

    将Postgre雷竞技下载官网SQL组件的Percona Distribution绑定到特定的Kubernetes/OpenShift节点¶

    操作员很好地自动将新的pod分配给有足够资源的节点,以实现在集群内的均衡分布。在某些情况下,仍然需要确保pod将降落在特定的节点上:例如,为了获得配备SSD的机器的速度优势,或者为了减少选择同一可用分区中的节点的网络成本。

    的适当章节部署/ cr.yaml档案(例如pgPrimary或pgReplicas)包含可用于此目的的键,这取决于对特定情况的最佳选择。

    亲和与反亲和¶

    亲和性使得Pod有资格(或不合格——所谓的“反亲和性”)被调度到已经拥有带有特定标签的Pod或本身具有特定标签的节点上(所谓的“节点亲和性”)。特别是,Pod的反亲和性可以很好地降低成本,确保多个具有密集数据交换的Pod将占用相同的可用性区域甚至相同的节点,或者相反,让它们落在不同的节点甚至不同的可用性区域上,以实现高可用性和平衡目的。节点关联对于将PostgreSQL实例分配给特定的Kubernetes节点(具有特定硬件、区域等)非常有用。

    豆荚的反亲和性是由antiAffinityType选项,可以放入其中pgPrimary,pgBouncer,备份各部分部署/ cr.yaml配置文件。该选项可以设置为以下值之一:

    • 首选豆荚的反亲和性是一种软规则。它让Kubernetes尝试将匹配反亲和性规则的Pods调度到不同的node。如果不可能,则将一个或多个pod调度到同一节点。默认情况下使用此变体。
    • 要求豆荚的反亲和性是一种硬性的规则。它迫使Kubernetes将每个Pod与反亲和规则匹配到不同的节点。如果不可能,那么Pod将根本不会被安排。

    控件控制节点关联pgPrimary.affinity.nodeAffinityType选项中的部署/ cr.yaml配置文件。此选项可以设置为任意一个首选或要求类似于antiAffinityType选择。

    简单的方法——基于nodeLabel配置节点亲缘关系¶

    运营商提供pgPrimary.affinity.nodeLabel选项,该选项应包含一个或多个键-值对。如果节点没有标记每个键-值对和nodeAffinityType设置为要求,豆荚将无法降落在上面。

    属性的节点上的PostgreSQL实例使用Percona分发雷竞技下载官网kubernetes.io /地区:us-central1标签:

    亲和力:nodeAffinityType:要求nodeLabel:kubernetes.io /地区:us-central1

    先进的方法-使用标准Kubernetes约束¶

    以前的方法可以在没有Kubernetes将Pods分配给特定节点的特殊知识的情况下使用。在某些情况下,可能需要更复杂的调优。在这种情况下pgPrimary.affinity.advanced选项。部署/ cr.yaml属性的效果nodeLabel并且允许使用任何复杂度的标准Kubernetes亲和约束:

    亲和力:先进的:podAffinity:requiredDuringSchedulingIgnoredDuringExecution:-labelSelector:matchExpressions:-关键:安全操作符:在值:-S1topologyKey:failure-domain.beta.kubernetes.io /区podAntiAffinity:preferredDuringSchedulingIgnoredDuringExecution:-重量:One hundred.podAffinityTerm:labelSelector:matchExpressions:-关键:安全操作符:在值:-S2topologyKey:kubernetes.io /主机名nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:-matchExpressions:-关键:kubernetes.io / e2e-az-name操作符:在值:-e2e-az1-e2e-az2preferredDuringSchedulingIgnoredDuringExecution:-重量:1偏好:matchExpressions:-关键:another-node-label-key操作符:在值:-another-node-label-value

    您可以看到这些关联选项的说明在Kubernetes文档中。

    默认亲和性规则¶

    以下反亲和性规则应用于所有Percona Distribution for PostgreSQL Pods雷竞技下载官网:

    亲和力:podAntiAffinity:preferredDuringSchedulingIgnoredDuringExecution:-podAffinityTerm:labelSelector:matchExpressions:-关键:供应商操作符:在值:-crunchydata-关键:pg-pod-anti-affinity操作符:存在-关键:pg-cluster操作符:在值:-cluster1topologyKey:kubernetes.io /主机名重量:1

    您可以看到这些关联选项的说明在Kubernetes文档中。

    请注意

    设置要求反亲和类型将导致将所有pod放在单独的节点上,因此是默认配置需要7个Kubernetes节点部署集群,将独立的节点分配给一个PostgreSQL主实例、两个PostgreSQL副本实例、三个pgBouncer和一个pgBackrest Pod。

    的纵容¶

    的纵容允许pod能够降落在匹配的节点上污染了。容忍用a表示关键和操作符,即存在或平等的(后一种变体也需要一个价值键值等于)。而且,公差要有规定效果,这可能是不言自明的NoSchedule不那么严格PreferNoSchedule,或NoExecute。最后一个变体的意思是如果a污染与NoExecute分配给节点,那么任何Pod不容忍这污染将从节点中移除,是立即还是之后tolerationSeconds间隔,如下例所示。

    你可以使用pgPrimary.tolerations输入部署/ cr.yaml配置文件如下:

    的纵容:-关键:“node.alpha.kubernetes.io /遥不可及的”操作符:“存在”效果:“NoExecute”tolerationSeconds:6000

    的Kubernetes污染和耐受包含有关此主题的更多示例。

    联系我们

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

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

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


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

    饼干的同意

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

    Baidu
    map