Bring your own Kubernetes cluster

Your existing Kubernetes (K8s) cluster is the foundation from which to take advantage of Mission Control features. If you don’t bring your own K8s cluster, then you must create one on bare-metal/VM.

Installing Mission Control into your environment includes an upgrade to the installation on a Control Plane Kubernetes cluster, and then, if required, on one or more Data Plane Kubernetes clusters. Online or offline instructions are available.

Installing a Data Plane requires a separate cluster that is already running in Control Plane mode.

Provision a Kubernetes cluster

Depending on your environment it is possible to provision a Kubernetes cluster either through a cloud console or through internal processes and APIs. Here is a list of many common Kubernetes services available:

Node groups

To install Mission Control, opt for either:

homogeneous

Hardware where all instances are of the same specifications.

heterogeneous

Where different pools of hosts are provisioned based on their expected workloads.

See your cloud provider documentation for heterogeneous hosts:

Prerequisite

Label worker nodes

Worker nodes in the Kubernetes cluster must be categorized based on their intended workloads as platform or database workers. Platform workers host Mission Control components whereas database workers are where DataStax Enterprise (DSE), Hyper-Converged Database (HCD), and Apache Cassandra® pods are scheduled.

Label each Kubernetes with either the platform or database role:

kubectl label nodes NODE_NAME mission-control.datastax.com/role=platform
kubectl label nodes NODE_NAME mission-control.datastax.com/role=database

Replace NODE_NAME with the name of your node.

Failure to label at least one node with the platform role might prevent some Mission Control components from running because the pods will not get scheduled. Missing components will significantly affect the operation of Mission Control.

Install Mission Control dependencies

Install Cert Manager

Mission Control utilizes the Cert Manager to handle the issuance and automation of TLS certificates. Therefore it is required prior to the installation of Mission Control.

You can’t specify a custom release name or custom namespace name. Any name other than cert-manager will result in a The deployment "cert-manager" was not found error in the KOTS admin console. You can skip this check if you have cert-manager installed in a different namespace.

Install Cert Manager by running these Helm CLI tool commands:

helm repo add jetstack https://charts.jetstack.io --force-update
helm repo update
helm install \
  cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --create-namespace \
  --version v1.13.2 \
  --set installCRDs=true

This command creates pods in the cert-manager namepsace in your Kubernetes cluster.

Install Kubernetes Off-The-Shelf (KOTS)

To finish setting up Mission Control dependencies, choose the online or offline mode.

  • Online install

  • Offline (airgap) install

Prerequisites
  • Outbound connectivity to the internet.

  • Kubectl CLI v1.21+.

  • Kots CLI v1.105+.

KOTS

Mission Control uses KOTS as a user-friendly interface for installing a Control Plane or a Data Plane.

  1. Install KOTS by running the following command:

    kubectl kots install mission-control --NAMESPACE kots

    Replace NAMESPACE with the with the namespace of the cluster.

    After answering the prompts the program provides port forwarding to access the KOTS web interface.

    Important: Record the password value you provide to the prompt, and open the URL that the program returns in your browser. Continue to installation of Mission Control.

    If the port forwarding session goes down, restart it with this command:

    kubectl kots admin-console -n NAMESPACE

    Replace NAMESPACE with mission-control.

    This restarts the port forwarding session. To exit, press Control+C.

Next steps

Your Kubernetes environment is now prepared for an online or offline installation of Mission Control.

Prerequisites
KOTS
  1. Install KOTS.

    Mission Control uses KOTS as a user-friendly interface for installing a Control Plane or a Data Plane.

    1. Validate kots kubectl plugin version. Your kots kubectl plugin version must match the version of KOTS that you are about to install. Run the following command to validate:

      kubectl kots version

      The version number displayed should match the version string in the filename for kotsadm.tar.gz.

    2. Load KOTS container images by running the following command (with substitutions):

      kubectl kots admin-console push-images ./kotsadm.tar.gz REGISTRY_HOST \
       --registry-username RW_USERNAME \
       --registry-password RW_PASSWORD

      Replace the following:

      • REGISTRY_HOST: The container registry hostname

      • RW_USERNAME: The container registry read / write account username

      • RW_PASSWORD: The container registry read / write account password

    3. Install KOTS by running the following command (with substitutions):

      kubectl kots install mission-control \
       --kotsadm-registry REGISTRY_HOST \
       --kotsadm-namespace mission-control \
       --registry-username RO_USERNAME \
       --registry-password RO_PASSWORD

      Replace the following:

      • REGISTRY_HOST: The container registry hostname

      • RO_USERNAME: The container registry read only account username

      • RO_PASSWORD: The container registry read only account password

Your Kubernetes environment is now prepared for an online or offline installation of Mission Control.

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