Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Scott Bellows
    @sbellows_gitlab
    so something like kubectl -n cass-operator create secret generic <datacenter-name>-keystore --from-file=node-keystore.jks --from-file=node-truststore.jks
    Jim Dickinson
    @jimdickinson
    so you have to choose insecure or I'll-bring-my-own-certs, there's no default - that's why you're seeing that
    we have an example of I'll-bring-my-own-certs in the repo, but we should document this path better - and I think ideally you should get some autogenerated certs by default and this clunky interface can mostly move to out-of-sight
    Scott Bellows
    @sbellows_gitlab
    what SANs need to be in the cert?
    Scott Bellows
    @sbellows_gitlab
    so i setup a test cluster - no encryption

    ```$ kubectl -n cassandra get all
    NAME READY STATUS RESTARTS AGE
    pod/cass-operator-78c9999797-rkkng 1/1 Running 0 27h
    pod/tlstest-cluster-tlstest-us-east-1b-sts-0 2/2 Running 0 5m34s
    pod/tlstest-cluster-tlstest-us-east-1b-sts-1 2/2 Running 0 5m34s
    pod/tlstest-cluster-tlstest-us-east-1b-sts-2 2/2 Running 0 5m34s

    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
    service/cass-operator-metrics ClusterIP 172.20.253.253 <none> 8383/TCP,8686/TCP 27h
    service/cassandradatacenter-webhook-service ClusterIP 172.20.150.36 <none> 443/TCP 27h
    service/tlstest-cluster-seed-service ClusterIP None <none> <none> 5m34s
    service/tlstest-cluster-tlstest-all-pods-service ClusterIP None <none> <none> 5m34s
    service/tlstest-cluster-tlstest-service ClusterIP None <none> 9042/TCP,8080/TCP 5m34s

    NAME READY UP-TO-DATE AVAILABLE AGE
    deployment.apps/cass-operator 1/1 1 1 27h

    NAME DESIRED CURRENT READY AGE
    replicaset.apps/cass-operator-78c9999797 1 1 1 27h

    NAME READY AGE
    statefulset.apps/tlstest-cluster-tlstest-us-east-1b-sts 3/3 5m34s```

    Jim Dickinson
    @jimdickinson
    right - this work is not in a released docker image yet
    but it's been tested and merged to master
    Scott Bellows
    @sbellows_gitlab
    so i'm guessing as a SAN i should have a wildcard of *.cassandra.svc.cluster.local
    Jim Dickinson
    @jimdickinson
    I'd need to research that for a bit
    Scott Bellows
    @sbellows_gitlab
    i see a service of tlstest-cluster-tlstest-service
    and pods named tlstest-cluster-tlstest-us-east-1b-sts-0
    so i'm guessing i can use the service name in my app manifests : tlstest-cluster-tlstest-service.cassandra.svc.cluster.local:9042
    so does the cassandra driver connect to the individual pods via dns or ip? can i just put in a wildcard pod name? or will i need to also include every single pod IP in the cert?
    Scott Bellows
    @sbellows_gitlab
    ok. thanks for all your help. i will wait until the next release. it will probably be faster just to test it than trying to look all this up.
    Jim Dickinson
    @jimdickinson
    I'll get some answers for you in the next day or so @sbellows_gitlab
    also feel free to make a GH issue for this, you've got some detailed questions and it's a better way to track it
    dmsolow
    @dmsolow
    @jimdickinson re: token allocation, it doesn't look like the operator lets you set initial_token in cassandra.yaml, but it's also doing a poor job of evenly distributing tokens -- is there any way to override configuration settings or get better allocation?
    Jim Dickinson
    @jimdickinson
    I think you can set initial_token in cassandra.yaml, but it will be very cumbersome to do that
    you would need to scale up one node at a time
    @dmsolow
    dmsolow
    @dmsolow
    @jimdickinson I fixed the problem with uneven token allocation by editing the seed service to point to a single node
    for my 3-node one rack cluster, the seed service was marking all nodes as seeds, and this seems to have caused uneven token allocation when the cluster was starting up
    Jim Dickinson
    @jimdickinson
    would you mind opening a github issue for that? @dmsolow
    dmsolow
    @dmsolow
    @jimdickinson done
    my feeling is that getting even token allocation in cassandra is non-trivial unfortunately
    Jim Dickinson
    @jimdickinson
    in 4.0 there's a new token allocation algorithm you can use, and it makes things much more even
    dmsolow
    @dmsolow
    any docs on how that will work?
    Scott Bellows
    @sbellows_gitlab
    still planning on a new release this week?
    Jim Dickinson
    @jimdickinson
    @dmsolow it's just allocate_tokens_for_local_replication_factor - check out the Cassandra docs
    Nicola Benaglia
    @nbenaglia

    Hi,
    I am trying cass-operator and looking for a way to integrate with MCAC (metrics: https://github.com/datastax/metric-collector-for-apache-cassandra).

    From example:

    https://github.com/datastax/cass-operator/blob/a853063b9f08eb1a64cb248e23b5a4a5db92a5ac/operator/example-cassdc-yaml/dse-6.8.x/example-cassdc-full.yaml#L135

    I see config options:

        10-write-prom-conf:
          enabled: true
          port: 9103
          staleness-delta: 300

    Are they only available for DSE and not for cass-operator ?

    Jim Dickinson
    @jimdickinson
    @sbellows_gitlab the release went out Monday evening - we had some issues come up in testing we had to fix :)
    @nbenaglia MCAC is just enabled by default with the latest Cassandra images, there's nothing to do to get it working
    dmsolow
    @dmsolow
    any guidance on resizing the PVCs used by a datacenter?
    I'm able to manually resize existing PVCs, but can't change the size requested in the storageConfig
    Jim Dickinson
    @jimdickinson
    @dmsolow StatefulSets in k8s don't allow changing that part of the spec, so we also don't allow it in Cass Operator
    dmsolow
    @dmsolow
    @jimdickinson ty, hopefully k8s changes that soon

    a workaround people have mentioned outside the cass-operator is:

    kubectl delete sts <name> --cascade=false

    to delete the sts without deleting the pods, and then remake the sts with desired changes

    think that would work with cass-operator? seems risky
    Jim Dickinson
    @jimdickinson
    @dmsolow oh I didn't realize that was even possible - violates some k8s contracts in my mind - do the pods/pvc/anything else end up owned by the re-created sts?
    would you mind opening a ticket about increasing disk space per pod, and include this workaround?
    dmsolow
    @dmsolow
    I haven't tested it, but other people seem to be doing it with statefulsets (not with cass-operator necessarily)
    Nicola Benaglia
    @nbenaglia
    @dmsolow your trick with sts deletion doesn't work, because the cass-operator recreates the sts immediately.
    Unfortunately for a storage update we need to watch when this kubernetes/kubernetes#68737 will be solved.
    The manual resize of PVC works and the volume is mounted by the same pod even if their sizes don't match (pvc is now larger then the sts/pod storage definition after the manual intervention).
    amarbarot
    @amarbarot
    Hi, I have recently deployed 1.4.1 in order to test the new cass operator with advanced workloads enabled
    can anybody point me to how i can initiate the spark shell?
    im used to just typing in dse spark on our currently deployment, not sure how we are supposed to do this on k8s
    I expected to have to run something like:
    kubectl -n cass-operator exec -ti cluster1-dc1-default-sts-0 -c cassandra spark
    amarbarot
    @amarbarot
    Alternatively, i may have failed to turn on the flag, any examples of how i can pass this in?
    flags := ""
    
    if dc.Spec.DseWorkloads.AnalyticsEnabled == true {
        flags += "-k "
        flags += "-Dspark-trackers=true "
    }