Cassandra

Detailed information on the Cassandra state store component

Component format

To setup Cassandra state store create a component of type state.cassandra. See this guide on how to create and apply a state store configuration.

  1. apiVersion: dapr.io/v1alpha1
  2. kind: Component
  3. metadata:
  4. name: <NAME>
  5. namespace: <NAMESPACE>
  6. spec:
  7. type: state.cassandra
  8. version: v1
  9. metadata:
  10. - name: hosts
  11. value: <REPLACE-WITH-COMMA-DELIMITED-HOSTS> # Required. Example: cassandra.cassandra.svc.cluster.local
  12. - name: username
  13. value: <REPLACE-WITH-PASSWORD> # Optional. default: ""
  14. - name: password
  15. value: <REPLACE-WITH-PASSWORD> # Optional. default: ""
  16. - name: consistency
  17. value: <REPLACE-WITH-CONSISTENCY> # Optional. default: "All"
  18. - name: table
  19. value: <REPLACE-WITH-TABLE> # Optional. default: "items"
  20. - name: keyspace
  21. value: <REPLACE-WITH-KEYSPACE> # Optional. default: "dapr"
  22. - name: protoVersion
  23. value: <REPLACE-WITH-PROTO-VERSION> # Optional. default: "4"
  24. - name: replicationFactor
  25. value: <REPLACE-WITH-REPLICATION-FACTOR> # Optional. default: "1"

Warning

以上示例将 Secret 明文存储。 更推荐的方式是使用 Secret 组件, here

Spec metadata fields

字段RequiredDetailsExample
hostsYComma separated value of the hosts“cassandra.cassandra.svc.cluster.local”.
portNPort for communication. Default “9042”“9042”
usernameYThe username of database user. No default“user”
passwordYThe password for the user“password”
consistencyNThe consistency values“All”, “Quorum”
tableNTable name. Defaults to “items”“items”, “tab”
keyspaceNThe cassandra keyspace to use. Defaults to “dapr”“dapr”
protoVersionNThe proto version for the client. Defaults to “4”“3”, “4”
replicationFactorNThe replication factor for the calls. Defaults to “1”“3”

Setup Cassandra

You can run Cassandra locally with the Datastax Docker image:

  1. docker run -e DS_LICENSE=accept --memory 4g --name my-dse -d datastax/dse-server -g -s -k

You can then interact with the server using localhost:9042.

The easiest way to install Cassandra on Kubernetes is by using the Helm chart:

  1. kubectl create namespace cassandra
  2. helm install cassandra incubator/cassandra --namespace cassandra

This installs Cassandra into the cassandra namespace by default. To interact with Cassandra, find the service with: kubectl get svc -n cassandra.

For example, if installing using the example above, the Cassandra DNS would be:

cassandra.cassandra.svc.cluster.local

相关链接

Last modified January 1, 0001