绑核模式

CPU绑核可以提高同一个Node上不同Pod之间的隔离性,同时减少线程上下文切换提升性能。

前提条件

  • polardbx-operator版本不低于v1.6.0

Node 打标

支持绑核后,K8S Node 将被区分为:

  • 支持绑核, 有Label:polardbx/isolate-cpu=true
  • 不支持绑核,没有Label:polardbx/isolate-cpu

实例参数设置

创建PolarDB-X Cluster的时候,设置.spec.exclusivetrue, 默认值为false

注意:引擎组件里的cpu配置的request值和limit值必须相等,否则将返回报错。

例子

假设目前有3个Node: Node1, Node2, Node3。

经检查这些Node上没有部署非绑核模式的PolarDb-X Cluster。

  1. 给Node打标

    kubectl label node Node1 polardbx/isolate-cpu=true
    kubectl label node Node2 polardbx/isolate-cpu=true
    kubectl label node Node3 polardbx/isolate-cpu=true
    
  2. 创建实例

    apiVersion: polardbx.aliyun.com/v1
    kind: PolarDBXCluster
    metadata:
    name: pxc-bindcpu
    spec:
    exclusive: true
    topology:
     nodes:
       cn:
         replicas: 1
         template:
           hostNetwork: true
           resources:
             limits:
               cpu: 2
               memory: 4Gi
           image: polardbx/polardbx-sql:5.4.18-20240111164723
           imagePullPolicy: IfNotPresent
       dn:
         replicas: 1
         template:
           hostNetwork: true
           resources:
             limits:
               cpu: 3
               memory: 6Gi
           image: polardbx/polardbx-engine-2.0:80-8.0.18-20231101115000
           imagePullPolicy: IfNotPresent
    

results matching ""

    No results matching ""