Warning
You are currently viewing v1.5 of the documentation and it is not the latest. For the most recent documentation, kindly click here.
This specification describes the mysql trigger that scales based on result of MySQL query.
The trigger always requires the following information:
query - A MySQL query that should return single numeric value.queryValue - A threshold that is used as targetAverageValue in HPA.Note that the query must return a single integer value. If the query has a possibility of returning
null, a default value can be set using theCOALESCEfunction. For example,SELECT COALESCE(column_name, 0) FROM table_name;. See MySQL documentation for more information on theCOALESCEfunction.
To provide information about how to connect to MySQL you can provide:
connectionString - MySQL connection string that should point to environment variable with valid value.Or provide more detailed information:
username - Used to access MySQL database.password - Used for the given user, this should be blank (no password) or point to an environment variable with the password.host - Host of the database.port - Port of the database.dbName - As name of the database.You can authenticate by using connection string or password authentication.
Connection String Authentication:
connection - Connection string for MySQL database.Password Authentication:
connection - Password for configured user to login to MySQL database variables.Here is an example of how to deploy a scaled object with the mysql scale trigger which uses TriggerAuthentication.
apiVersion: v1 kind: Secret metadata: name: mysql-secrets namespace: my-project type: Opaque data: mysql_conn_str: dXNlckB0Y3AobXlzcWw6MzMwNikvc3RhdHNfZGI= # base64 encoded value of mysql connectionString of format user@tcp(mysql:3306)/stats_db --- apiVersion: keda.k8s.io/v1alpha1 kind: TriggerAuthentication metadata: name: keda-trigger-auth-mysql-secret namespace: my-project spec: secretTargetRef: - parameter: connectionString name: mysql-secrets key: mysql_conn_str --- apiVersion: keda.k8s.io/v1alpha1 kind: ScaledObject metadata: name: mysql-scaledobject namespace: my-project spec: scaleTargetRef: deploymentName: worker triggers: - type: mysql metadata: queryValue: "4" query: "SELECT CEIL(COUNT(*) / 6) FROM task_instance WHERE state='running' OR state='queued'" authenticationRef: name: keda-trigger-auth-mysql-secret