Summary
This document uses the datastax cass-operator example, which is located here:
https://github.com/datastax/cass-operator
Applies to
- DataStax Enterprise 6.8
Solution
1) Upload the following images to the on-prem docker registry:
docker image here for config-builder:
https://hub.docker.com/r/datastax/cass-config-builder
docker image for busybox
https://hub.docker.com/_/busybox
docker image for dse-server
https://hub.docker.com/r/datastax/dse-server
2) Customize the deployed image to be e.g. my.custom.registry/datastax/dse-server:6.8.4. This documentation (under Using a specific image) shows an example of specifying a custom image in a private registry:
https://github.com/datastax/cass-operator/blob/master/docs/user/README.md#using-a-specific-image
3) Use the following fields to define the customer registry location:
serverImage: "container-registry.foo.com/datastax/dse-server:6.8.4"
configBuilderImage: "container-registry.foo.com/datastax/cass-config-builder:1.0.3"
systemLoggerImage: "container-registry.foo.com/datastax/busybox:latest
The above are examples and should be specific to your registry.
4) Your final yaml will look something like this:
# Sized to work on 3 k8s workers nodes with 1 core / 4 GB RAM # See neighboring example-cassdc-full.yaml for docs for each parameter apiVersion: cassandra.datastax.com/v1beta1 kind: CassandraDatacenter metadata: name: dc1 spec: clusterName: cluster1 serverType: cassandra serverVersion: "3.11.7"
serverImage: "container-registry.foo.com/datastax/dse-server:6.8.4"
configBuilderImage: "container-registry.foo.com/datastax/cass-config-builder:1.0.3"
systemLoggerImage: "container-registry.foo.com/datastax/busybox:latest managementApiAuth: insecure: {} size: 3 storageConfig: cassandraDataVolumeClaimSpec: storageClassName: server-storage accessModes: - ReadWriteOnce resources: requests: storage: 5Gi config: cassandra-yaml: authenticator: org.apache.cassandra.auth.PasswordAuthenticator authorizer: org.apache.cassandra.auth.CassandraAuthorizer role_manager: org.apache.cassandra.auth.CassandraRoleManager jvm-options: initial_heap_size: "800M" max_heap_size: "800M" additional-jvm-opts: # As the database comes up for the first time, set system keyspaces to RF=3 - "-Ddse.system_distributed_replication_dc_names=dc1" - "-Ddse.system_distributed_replication_per_dc=3"