Mission Control Cluster
DataStax Mission Control is currently in Public Preview. DataStax Mission Control is not intended for production use, has not been certified for production workloads, and might contain bugs and other functional issues. There is no guarantee that DataStax Mission Control will ever become generally available. DataStax Mission Control is provided on an “AS IS” basis, without warranty or indemnity of any kind.
If you are interested in trying out DataStax Mission Control please join the Public Preview.
The filename of the manifest (object) is
This example uses
apiVersion: missioncontrol.datastax.com/v1alpha1 kind: MissionControlCluster metadata: name: demo spec: serverVersion: 6.8.26 storageConfig: cassandraDataVolumeClaimSpec: storageClassName: premium-rwo accessModes: - ReadWriteOnce resources: requests: storage: 10Gi resources: requests: memory: 1Gi datacenters: - metadata: name: dc1 k8sContext: east size: 3 racks: - name: rack1 nodeAffinityLabels: topology.kubernetes.io/zone: us-east1-c - name: rack2 nodeAffinityLabels: topology.kubernetes.io/zone: us-east1-b - name: rack3 nodeAffinityLabels: topology.kubernetes.io/zone: us-east1-d
Indicates the version of the object being defined
Indicates what type of resource this file represents. For example,
kindcan be a
MissionControlClusterresource or a datacenter.
At a minimum you must specify a
namefor your cluster. This value is used in the
Defines the DSE version you wish to deploy. This value is used to determine which Docker container versions to deploy.
Describes the storage requirements per node.
/var/lib/cassandrawithin a node. The type of this field matches Kubernetes'
PersistentVolumeClaimSpec. See Kubernetes reference docs for more detailed definitions.
Specifies the Kubernetes Storage Class that should be used when requesting storage.
This storage class MUST use
volumeBindingMode: WaitForFirstConsumer. See DataStax Mission Control Storage Classes for more information.
Failure to set this may bind a volume on a node where the pod may not be scheduled, resulting in a deadlock or a stuck Pending pod status.
accessModes- Contain the desired access modes of the volume,
ReadWriteOnceis appropriate for almost all clusters.
resources.requests.storage- Defines the requested volume size, this value must be a Quantity.
resources.requests- Requests specific resources to be considered when scheduling the DSE nodes. This is where you define your CPU and memory requirements.
memory- The amount of TOTAL memory available to the node, this value should be at least twice as large as your expected Java Heap.
cpu- The number of vCPUs the pod requires.
This is usually specified in
1000mis the equivalent of
resources.limits- These should NOT be set at this time. The sample does not list values.
Describes the topology of the DSE Cluster. Each entry represents a single logical datacenter.
metadata.name- Name of the datacenter, this value is placed in
k8sContext- Specifies the name of the regional
Data PlaneKubernetes cluster in which the DC should be deployed.
size- Total node count for the datacenter.
racks- List of racks for the datacenter. The
sizeparameter MUST be divisible by the total number of defined
racks. Nodes are equally deployed across all of the defined racks.
name- Name of the logical rack, this value is placed in
nodeAffinityLabels- Provides a mapping of node label key/value pairs for use while scheduling. These values may include common labels such as
region. Alternatively, you may provide custom labels to nodes in order to pin specific workloads to specific instances.