Warning
You are currently viewing v"2.6" of the documentation and it is not the latest. For the most recent documentation, kindly click here.
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"
metricName: "test_keyspace"
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 targetAverageValue
in the Horizontal Pod Autoscaler (HPA).metricName
- Name to assign to the metric. (Default: s<X>-cassandra-<KEYSPACE>
, Optional, In case of metricName
is specified, it will be used to generate the metricName
like this: s<X>-cassandra-<METRICNAME>
, where <X>
is the index of the trigger in a ScaledObject)You can authenticate by using a password via TriggerAuthentication
configuration.
Password Authentication:
password
- Password for configured user to login to the Cassandra instance.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"
metricName: "test_keyspace"
authenticationRef:
name: keda-trigger-auth-cassandra-secret