Cassandra Latest

Scale applications based on Cassandra query results.

Availability: v2.5+ Maintainer: Community

Trigger Specification

This specification describes the cassandra trigger that scales based on the outputs of a Cassandra query.

triggers:
  - type: cassandra
    metadata:
      username: "cassandra"
      port: "9042"
      clusterIPAddress: "cassandra.default"
      consistency: "Quorum"
      protocolVersion: "4"
      keyspace: "test_keyspace"
      query: "SELECT COUNT(*) FROM test_keyspace.test_table;"
      targetQueryValue: "1"
      activationTargetQueryValue: "10"

Parameter list:

  • username - The username credential for connecting to the Cassandra instance.
  • port - The port number of the Cassandra instance. (Optional, Can be set either here or in clusterIPAddress)
  • clusterIPAddress - The IP address or the host name of the Cassandra instance.
  • consistency - Configuration for a session or per individual read operation. (Values: LOCAL_ONE, LOCAL_QUORUM, EACH_QUORUM, LOCAL_SERIAL, ONE, TWO, THREE, QUORUM, SERIAL, ALL, Default: ONE, Optional)
  • protocolVersion - CQL Binary Protocol. (Default: 4, Optional)
  • keyspace - The name of the keyspace used in Cassandra.
  • query - A Cassandra query that should return single numeric value.
  • targetQueryValue - The threshold value that is provided by the user and used as targetValue or targetAverageValue (depending on the trigger metric type) in the Horizontal Pod Autoscaler (HPA).
  • activationTargetQueryValue - Target value for activating the scaler. Learn more about activation here. (Default: 0, Optional)

Authentication Parameters

You can authenticate by using a password via TriggerAuthentication configuration.

Password Authentication:

  • password - Password for configured user to log in to the Cassandra instance.

Example

apiVersion: v1
kind: Secret
metadata:
  name: cassandra-secrets
type: Opaque
data:
  cassandra_password: CASSANDRA_PASSWORD
---
apiVersion: keda.sh/v1alpha1
kind: TriggerAuthentication
metadata:
  name: keda-trigger-auth-cassandra-secret
spec:
  secretTargetRef:
  - parameter: password
    name: cassandra-secrets
    key: cassandra_password
---
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: cassandra-scaledobject
spec:
  scaleTargetRef:
    name: nginx-deployment
  triggers:
  - type: cassandra
    metadata:
      username: "cassandra"
      port: "9042"
      clusterIPAddress: "cassandra.default"
      consistency: "Quorum"
      protocolVersion: "4"
      query: "SELECT COUNT(*) FROM test_keyspace.test_table;"
      targetQueryValue: "1"
    authenticationRef:
      name: keda-trigger-auth-cassandra-secret