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
Replace NODE_NAME
with the name of your node.
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.16.1 \
--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
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 --namespace NAMESPACE
Replace
NAMESPACE
with the namespace where you want to install KOTS. The default namespace ismission-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
Replace
NAMESPACE
with the namespace where you want to install KOTS. The default namespace ismission-control
.This restarts the port forwarding session. To exit, press
Control+C
.
Your Kubernetes environment is now prepared for an online or offline installation of Mission Control.
-
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
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
-
-
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.