To install a third-party data store, your
cluster must have access to the supported version of the data store
image.
To see the compatible data store versions for your Instana
deployment, install the kubectl plug-in and run the kubectl
instana --version command. For more information, see the
Instana kubectl
plug-in topic.
Before you install an Instana component, make sure that you
taint and label the node that is intended for the installation.
This step dedicates the node exclusively to Instana components,
making sure proper resource allocation and isolation.
Your setup must include a minimum of four worker nodes, each
with 16 vCPUs and 64 GB of memory, and one additional worker node
with 8 vCPUs and 16 GB of memory.
Label the first 4 worker nodes or nodes of your choice by using
the kubectl commands.
CLUSTER_NAME=$(hostname|cut -d . -f 2-)
for NODE in 0 1 2 3
do
oc label node worker${NODE}.${CLUSTER_NAME} node-role.kubernetes.io/monitor="true"
oc adm taint node worker${NODE}.${CLUSTER_NAME} node.instana.io/monitor="true":NoSchedule
done
Make sure that the nodes are tainted and labelled.
Verify that the nodes are labeled correctly.
oc get nodes -l node-role.kubernetes.io/monitor=true
The output must be identical to the following example:
NAME STATUS ROLES AGE VERSION
worker0.instana-odf5.cp.fyre.ibm.com Ready monitor,worker 5d5h v1.29.6+aba1e8d
worker1.instana-odf5.cp.fyre.ibm.com Ready monitor,worker 5d5h v1.29.6+aba1e8d
worker2.instana-odf5.cp.fyre.ibm.com Ready monitor,worker 5d5h v1.29.6+aba1e8d
worker3.instana-odf5.cp.fyre.ibm.com Ready monitor,worker 5d5h v1.29.6+aba1e8d
Verify that the nodes are tainted correctly.
kubectl get nodes -o=jsonpath='{range .items[*]}{.metadata.name}{"\t"}{range .spec.taints[*]}{.key}{"="}{.value}{"\t"}{end}{"\n"}{end}' |grep monitor
Make sure that cert-managerFigure 2. Opens in a new tab or window, which
is used to automatically provision the secret by default, is
installed in your cluster. To install cert-manager,
run the following command:
Note: Skip this step if cert-manager is already installed
in your cluster.
Make sure that you set a default storage class on the cluster on
which you are installing the data stores. You need a storage class
with ReadWriteMany (RWX) or ReadWriteOnce
(RWO) access mode. Make sure that you update the storage class that
you set in your cluster with RWX or RWO access.
To verify whether a default storage class is set in your
cluster, run the following command:
kubectl get storageclass -o=jsonpath='{.items[?(@.metadata.annotations.storageclass\.kubernetes\.io\/is-default-class=="true")].metadata.name}'
If the command doesn't return a value, then you need to set a
default storage class by running the following command:
If you are using your bastion host as the Instana host in your
air-gapped environment, you do not need to complete the following
steps. However, if your bastion host and the air-gapped host are
different, complete these steps:
On your bastion host, download the Helm binary for the operating
system of your air-gapped host. For the available binary files, see
Installation and UpgradingFigure 3. Opens in a new tab or window. See
the following example command.