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 |
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
-
Helm CLI v3.x.
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
Failure to label at least one node with the |
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 |
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
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:
KOTS
Mission Control uses KOTS as a user-friendly interface for installing a Control Plane or a Data Plane.
-
Install KOTS by running the following command:
kubectl kots install mission-control
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`>
Parameter
Description
NAMESPACE
must be
mission-control
This restarts the port forwarding session. To exit, press
Control+C
.
What’s next?
Your Kubernetes environment is now prepared for an online or offline installation of Mission Control.
Prerequisites:
KOTS
-
Install KOTS.
Mission Control uses KOTS as a user-friendly interface for installing a Control Plane or a Data Plane.
-
Validate
kots kubectl
plugin version. Yourkots 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
. -
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`>
Parameter
Description
REGISTRY_HOST
Container registry hostname
RW_USERNAME
Container registry read / write account username
RW_PASSWORD
Container registry read / write account password
-
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`>
Parameter
Description
REGISTRY_HOST
Container registry hostname
RO_USERNAME
Container registry read only account username
RO_PASSWORD
Container registry read only account password
-
What’s next?
Your Kubernetes environment is now prepared for an online or offline installation of Mission Control.