Install and configure Mission Control using Helm
Mission Control is packaged as a Helm chart along with its dependencies. While Mission Control is typically deployed through the KOTS Admin Console, you can also install it directly with Helm-based tooling.
Contact DataStax Support for Helm registry access. Only accounts with paid Hyper-Converged Database (HCD) or DataStax Enterprise (DSE) plans can submit support tickets. For information about DataStax products and subscription plans, see the DataStax website. |
Helm allows you to configure and template Kubernetes resources. It provides both an API and CLI for deploying resources. You can use Helm to install and manage Mission Control in both online and air gap environments. Helm offers more customization and detailed configuration of Mission Control components and its Kubernetes resources than the KOTS Admin Console.
Prerequisites
To install Mission Control using Helm, you need the following:
-
You have prepared either a bare-metal/VM or a pre-existing Kubernetes environment where you will configure and install Mission Control.
-
A downloaded Mission Control license file.
Mission Control requires a license file to provide Kubernetes Off-The-Shelf (KOTS) or Helm with required information out installation. Information includes customer identifiers, software update channels, and entitlements.
Are you exploring Mission Control as a solution for your organization? Fill out this registration form to request a community edition license.
If you need a replacement license file or a non-community edition, or want to convert your Public Preview license to use a stable channel release version, please contact your account team.
-
Helm installed.
-
Access to the Helm registry.
Configuration values
You can configure a Helm chart installation using command-line flags or a supplied values.yaml
file.
Helm structures its values.yaml
file with the top-level chart’s values placed at the root of the file and sub-charts placed under a top-level key matching the chart’s name or alias.
DataStax recommends placing all required configuration values within a values.yaml
file.
This allows simple versioning and configuration iteration.
You can download a sample values.yaml
file with default Mission Control settings.
Common configurations
Helm simplifies the management of Kubernetes applications by using configuration files to define and deploy resources.
Using Helm’s values.yaml
file, you can customize the settings for your deployment, and configure each component to your specific needs.
The following sections describe common configuration keys and values that you might use for each chart and its dependencies. Links to default templates are provided as a reference for additional configuration options.
Mission Control
# -- Determines if the mission-control-operator should be installed as the control plane
# or if it's simply in a secondary cluster waiting to be promoted
controlPlane: true
disableCertManagerCheck: false
# Sets properties for the mission-control-operator container
image:
# -- Container registry containing the repository where the image resides
registry: cr.dtsx.io
# -- Docker repository for mission-control-operator
repository: datastax/mission-control
# -- Pull policy for the operator container
pullPolicy: IfNotPresent
# -- Tag of the mission-control-operator image to pull from image.repository
tag: v1.4.0
# -- Node labels for operator pod assignment.
# Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
#
nodeSelector:
mission-control.datastax.com/role: platform
# -- Node affinity for operator pod assignment.
allowOperatorsOnDatabaseNodes: false
client:
# -- Automatically handle CRD upgrades
manageCrds: true
image:
# -- Container registry containing the repository where the image resides
registry: cr.k8ssandra.io
# -- Docker repository for k8ssandra-client
repository: k8ssandra/k8ssandra-client
# -- Tag of the k8ssandra-client image to pull from image.repository
tag: latest
# -- Configuration of the job that runs at installation time to patch the conversion webhook in the CRD.
crdPatchJob:
image:
# -- Docker repository for the kubectl image
repository: bitnami/kubectl
# -- Tag of the kubectl image
tag: 1.30.1
ui:
enabled: true
# -- Base URL that client browsers will use to access the UI.
# If Dex only uses static passwords and/or the LDAP connector, this can be left empty, and the UI will work via any
# routable URL.
# If Dex uses an external provider (e.g. OIDC), this must be set, and the UI can only be accessed via this canonical
# URL.
baseUrl: ''
image:
# -- Image registry for the ui
registry: cr.dtsx.io
# -- Image repository for the ui
repository: datastax/mission-control-ui
# -- Tag of the client image to pull from
tag: v1.4.0
service:
nodePort: 30880
https:
# -- Enable HTTPS for the UI using self signed certificate
enabled: true
Sub chart configuration
This section details the configuration options for various sub-charts included in Mission Control.
Refer to the upstream Helm chart repository for each sub chart for a complete list of available configuration options.
Dex IdP
You can find Dex IdP upstream configuration keys in the Dex IdP Helm chart repo.
Place these entries under the dex
key in your values.yaml
file.
dex:
image:
repository: cr.dtsx.io/datastax/mission-control-dex
tag: v1.4.0
config:
enablePasswordDB: true
staticPasswords:
- email: admin@example.com
hash: "<HASH>"
username: admin
userID: "<USER_ID>"
Grafana
Grafana upstream configuration keys are available in the Grafana Helm chart repo.
Place these entries under the grafana
key in your values.yaml
file.
grafana:
enabled: false
K8ssandra operator
Place these entries under the k8ssandra-operator
key in your values.yaml
file.
k8ssandra-operator:
disableCrdUpgraderJob: true
cass-operator:
disableCertManagerCheck: true
Loki
Loki upstream configuration keys are available in the Loki Helm chart repo.
Place these entries under the loki
key in your values.yaml
file.
loki:
enabled: true
loki:
storage:
bucketNames:
chunks: my_loki_chunks_bucket
limits_config:
retention_period: 7d
read:
persistence:
enabled: true
size: 10Gi
storageClassName: ""
replicas: 1
write:
persistence:
enabled: true
size: 10Gi
storageClassName: ""
replicas: 1
backend:
replicas: 1
Mimir
Mimir upstream configuration keys are available in the Mimir Helm chart repo.
Place these entries under the mimir
key in your values.yaml
file.
mimir:
enabled: true
Vector
The Vector chart is deployed multiple times in different contexts. Each instantiation has a different alias, allowing for multiple configurations.
Place these entries under the agent
and aggregator
keys in your values.yaml
file.
Agent
Vector running in agent mode collects structured logs from each Kubernetes worker and the underlying container runtime, passing them along to the centralized aggregator.
agent:
enabled: true
Aggregator
Vector running in aggregator mode collects and processes all metrics and logs before sending them to downstream persistence systems—for example, Mimir, Loki, and external sinks.
aggregator:
enabled: true
service:
type: NodePort
ports:
- name: vector
protocol: TCP
port: 6000
targetPort: 6000
nodePort: 30600
Install Mission Control with Helm
To install Mission Control with Helm, do the following:
-
Log in to the Helm registry:
helm registry login registry.replicated.com --username 'HELM_INSTALL_EMAIL_ADDRESS' --password 'HELM_INSTALL_PASSWORD'
Replace the following:
-
HELM_INSTALL_EMAIL_ADDRESS
: Email address for Helm-based installations -
HELM_INSTALL_PASSWORD
: Mission Control license ID
-
-
If you haven’t done so already, get your Helm registry credentials from DataStax Support.
-
Create your
values.yaml
file or use the default DataStax file. -
Install Mission Control using your registry credentials:
helm install mission-control oci://registry.replicated.com/mission-control/mission-control --namespace mission-control --create-namespace -f values.yaml
Upgrade Mission Control with Helm
Run the following command to upgrade Mission Control:
helm upgrade mission-control oci://registry.replicated.com/mission-control/mission-control --namespace mission-control --create-namespace -f values.yaml