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:

  1. 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

  2. If you haven’t done so already, get your Helm registry credentials from DataStax Support.

  3. Create your values.yaml file or use the default DataStax file.

  4. 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

Was this helpful?

Give Feedback

How can we improve the documentation?

© 2024 DataStax | Privacy policy | Terms of use

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: +1 (650) 389-6000, info@datastax.com