Parameter Templates

As of version 1.3.0, the PolarDB-X Operator supports the functionality of parameter templates. When initializing an instance, you can specify a parameter template file to set a series of required template parameters for both CN (Compute Node) and DN (Data Node). The parameter templates must be configured via a yaml file. Note: The parameter template must be configured within the same namespace as the PolarDBXCluster.

kubectl apply -f {parameter template filename}.yaml --namespace={namespace where PolarDBXCluster is located}

Parameter Template Details

Note: In the parameter list, each parameter needs to specify seven different attributes, including:

  • name
    • The name of the parameter
  • defaultValue
    • The default value of the parameter, formatted as a string
  • mode
    • The mode of the parameter, including read-only and read-write
  • restart
    • Whether restarting the instance is required after modifying the parameter
  • unit
    • The unit of the parameter, including INT, DOUBLE, STRING, TZ (Time Zone), HOUR_RANGE
  • divisibilityFactor
    • For parameters with unit INT, a divisibility factor needs to be set; for other units, the default is 0
  • optional
    • For INT, DOUBLE, HOUR_RANGE units, the optional range is a range, e.g.: "[1000-60000]"
    • For STRING or TZ units, the optional range is a set of selectable options, e.g.: "[ON|OFF]"

Example of a parameter template is as follows:

## Example of a Parameter Template
apiVersion: polardbx.aliyun.com/v1
kind: PolarDBXParameterTemplate
metadata:
   name: parameterTemplate
spec:
   nodeType:
      cn:
         # Parameter list
         paramList:
            - name: CONN_POOL_BLOCK_TIMEOUT
              defaultValue: "5000"
              mode: read-write
              restart: false
              unit: INT
              divisibilityFactor: 1
              optional: "[1000-60000]"
            - ...
      dn:
         name: dnTemplate
         paramList:
            - name: innodb_use_native_aio
              defaultValue: "OFF"
              mode: readonly
              restart: false
              unit: STRING
              divisibilityFactor: 0
              optional: "[ON|OFF]"
            - ...
      gms: ...

Viewing Parameter Templates

Instances by default apply the version 8.0 parameter template in the polardbx-operator-system namespace. If you wish to create an instance in another namespace, you need to create a parameter template object within the corresponding namespace. You can use the following command to view all configured parameter templates.

kubectl get PolarDBXParameterTemplate --namespace=polardbx-operator-system
# Or the abbreviation can be used
kubectl get pxpt --namespace=polardbx-operator-system

PolarDBXCluster Configuration

Once the parameter template is configured, you can specify the required parameter template in the yaml file when starting the PolarDBXCluster.

# Adding a parameter template
apiVersion: polardbx.aliyun.com/v1
kind: PolarDBXCluster
metadata:
   name: pxc
spec:
   ...
   ...
   # Parameter template to configure
   parameterTemplate:
      name: product

Note:

  • After the instance applies the parameter template, it will adjust the default parameters in the CN or DN based on the default values in the parameter template. Furthermore, parameters in the configmap under the my.cnf.overwrite field have a higher priority and will not be modified by the parameter template.
  • Currently, it is not supported to change the parameter template of an instance once it has been configured, nor is it supported to add a parameter template to a running instance. If you want to modify the parameters of a running instance, you must use the dynamic parameters functionality.

results matching ""

    No results matching ""