Instana Install & Upgrade Guide Single VM Setup by Stanctl

Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

Instana Installation & Upgrade Guide

By “stanctl”, online or air-gapped


Bright Zheng (bright.zheng@ibm.com)
Latest Review/Update: 08 April 2024

Table of Contents

OVERVIEW ................................................................................................................................... 2

VM SPECS ...................................................................................................................................... 2
ARCHITECTURE ................................................................................................................................ 3

INSTALLATION PROCESS – ONLINE MODE ..................................................................................... 3

1. SPINNING UP THE VM ................................................................................................................... 3


2. PREPARING ................................................................................................................................. 3
3. INSTALLING “STANCTL” CLI ............................................................................................................. 5
4. INSTALLING INSTANA BACKEND ........................................................................................................ 6
5. POST ACTIONS ............................................................................................................................. 8

INSTALLATION PROCESS – AIR-GAPPED MODE ............................................................................ 13

0. PREPARE IN THE BASTION MACHINE ................................................................................................ 13


1. SPINNING UP THE VM ................................................................................................................. 14
2. PREPARING ............................................................................................................................... 14
3. INSTALLING “STANCTL” CLI ........................................................................................................... 14
4. IMPORTING PACKAGES ................................................................................................................. 14
5. INSTALLING INSTANA BACKEND ...................................................................................................... 15
6. POST ACTIONS ........................................................................................................................... 17

ANNEX....................................................................................................................................... 17

TLS CERTS .................................................................................................................................... 17


RESOURCE UTILIZATION ................................................................................................................... 18
CLEAN UP .................................................................................................................................... 19
Overview
Currently, there are some deployment patterns for Instana, besides SaaS, which include:
1. On-prem: Single-VM Docker-based setup, aka Classic Edition
2. On-prem: Dual-VM Docker-based setup, a variant of Classic Edition
3. On-prem: Single-Node with bundled K3s-based Kubernetes, aka Standard Edition
4. On-prem: Multi-Node with bundled K3s-based Kubernetes, an HA version of
Standard Edition (in roadmap)
5. On-prem: All-in Kubernetes/OpenShift, aka Custom Edition
6. On-prem: Kubernetes/OpenShift for Instana components + VM(s) for datastores
setup, a variant of Custom Edition

This doc focuses on option #3, which is “3. On-prem: Single-Node with bundled K3s-based
Kubernetes, aka Standard Edition”, by the newly built “stanctl” CLI, based on the GA’ed
version v1.0.0, on either Ubuntu 20.04 or RHEL 8.x, with both online and air-gapped modes.

As of writing, the “stanctl” CLI supports below Operating Systems, on x86_64:


• Red Hat® Enterprise Linux® (RHEL) 9 and 8
• Ubuntu 22.04, 20.04, and 18.04
• Debian 10, 11, and 12
• CentOS Stream 9
• Amazon Linux 2023
• Oracle Linux 9

Please check out the doc here for all supported Operating Systems, which are evolving very
fast. And other Operating Systems may just technically work too, but just “not yet QA’ed”.

VM Specs
Currently, there are two profiles provided out of the box, which require different VM specs:
Profile vCPU Memory Purposes
demo 16 64GB Demo, test, POC
production 24 96GB Production, heavy POC

Instana, or APM in general, is IO intensive, separate and fast storage volumes are required
for the storage capacity of the desired data directories / mount points. As an initial size, it’s
recommended as below:
Profile Data Metrics Analytics Objects Total
demo 150G 300G 500G 250G 1.2T
production 500G 1000G 1200G 1000G 3.7T

Please note that in the actual POC, we may use less disks than abovementioned specs, by
ignoring the pre-flight check, “stanctl up --skip-preflight-check” so that you may run POC
with say 700G disks – but you have to ensure that the given disks are sufficient, of course.
Since this is just a quick experiment, I used the default root disk based IBM Cloud’s classic
VM, where the size is 100G and the IOPS is 10k+, which is good enough.

read: IOPS=14.4k, BW=56.4MiB/s (59.2MB/s)(6141MiB/108818msec)


bw ( KiB/s): min=40280, max=64232, per=99.86%, avg=57706.60, stdev=3910.21, samples=217
iops : min=10070, max=16058, avg=14426.65, stdev=977.55, samples=217

Architecture
All components are containerized and deployed on the bundled “K3s” – a lightweight
Kubernetes distribution by CNCF.

Installation Process – Online Mode

1. Spinning up the VM
Omitted, you may simply get one from TechZone.

2. Preparing
Firstly, let’s perform such prerequisite checks within the Instana Server VM.

• Make sure that Internet access is available.


• A fully qualified domain name (FQDN), or simply use things like “.nip.io” if that works.
• When preparing, “sudo” permission is needed.
• Setup mount points and external volumes – note: all these mount points default to be
under path of “/mnt/instana/stanctl/” but are configurable and should use a
dedicated high performant SSD each in production setup:
o data
o metrics
o analytics
o objects

Please refer to “Prepare the additional disks” section in Instana official doc, here, when
you’re preparing external disks for the actual mount points.

Or simply create some data folders for simplicity purposes. For example:

$ sudo mkdir -p /mnt/instana/stanctl/{data,metrics,analytics,objects}

• Ture/set some required Linux kernel parameters for the sake of performance.
# vm.swappiness
echo "vm.swappiness=0" | sudo tee -a /etc/sysctl.d/99-stanctl.conf && \
sudo sysctl -p /etc/sysctl.d/99-stanctl.conf

# fs.inotify.max_user_instances
echo "fs.inotify.max_user_instances=8192" | sudo tee -a /etc/sysctl.d/99-stanctl.conf && \
sudo sysctl -p /etc/sysctl.d/99-stanctl.conf

# Transparent Huge Pages


# On Ubuntu or Debian:
sudo sed -i "s/\(GRUB_CMDLINE_LINUX=\".*\)\"/\1 transparent_hugepage=never\"/" "/etc/default/grub"
update-grub
# On RHEL, CentOS Stream, Amazon Linux, or Oracle Linux
sudo grubby --args="transparent_hugepage=never" --update-kernel ALL

A system reboot is required for these changes to take effect.

You may have another check after reboot on the transparent hugepages (THP) config and
make sure it’s set as “never”:

$ cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

Otherwise you may need to follow Red Hat’s doc here, if you’re with RHEL, to go through
some extra steps:

# Check current profile. In my case it's "virtual-guest"


$ tuned-adm active
Current active profile: virtual-guest

# Create a dedicated profile folder


$ sudo mkdir /etc/tuned/profile-nothp

# Create a conf which includes the existing profile with `transparent_hugepages=never`


$ cat <<EOF | sudo tee /etc/tuned/profile-nothp/tuned.conf
[main]
include=virtual-guest

[vm]
transparent_hugepages=never
EOF

# Grant execution permission


$ sudo chmod +x /etc/tuned/profile-nothp/tuned.conf

# Activate the profile


$ sudo tuned-adm profile profile-nothp

# Double check the THP setting


$ cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

• The TLS cert is optional but if you want to generate and use your own, refer to section of
Annex -> TLS Certs for details.

3. Installing “stanctl” CLI


Export the “INSTANA_DOWNLOAD_KEY” beforehand or replace highlighted part below with
the key in the command and then proceed to run:

# Replace it with your Instana download key


export INSTANA_DOWNLOAD_KEY=<YOUR_INSTANA_DOWNLOAD_KEY>

3.1 On Ubuntu

Set up the repo:

echo 'deb [signed-by=/usr/share/keyrings/instana-archive-keyring.gpg] https://artifact-public.instana.io/artifactory/rel-debian-


public-virtual generic main' | sudo tee /etc/apt/sources.list.d/instana-product.list

sudo touch /etc/apt/auth.conf


cat <<EOF | sudo tee /etc/apt/auth.conf
machine artifact-public.instana.io
login _
password $INSTANA_DOWNLOAD_KEY
EOF

wget -qO - --user=_ --password="$INSTANA_DOWNLOAD_KEY" https://artifact-


public.instana.io/artifactory/api/security/keypair/public/repositories/rel-debian-public-virtual | gpg --dearmor | sudo tee
/usr/share/keyrings/instana-archive-keyring.gpg

Then update the repository and install the “stanctl” accordingly:

sudo apt update -y


sudo apt install -y stanctl
3.2 On RHEL

Set up the repo:

cat <<EOF | sudo tee /etc/yum.repos.d/Instana-Product.repo


[instana-product]
name=Instana-Product
baseurl=https://_:$INSTANA_DOWNLOAD_KEY@artifact-public.instana.io/artifactory/rel-rpm-public-virtual/
enabled=1
gpgcheck=0
gpgkey=https://_:$INSTANA_DOWNLOAD_KEY@artifact-
public.instana.io/artifactory/api/security/keypair/public/repositories/rel-rpm-public-virtual
repo_gpgcheck=1
EOF

Then update the repository and install the “stanctl” accordingly:

sudo yum clean expire-cache -y


sudo yum update -y
sudo yum install -y stanctl

4. Installing Instana backend


Check the version we’re with:

$ stanctl --version
stanctl version 1.0.0 (commit=0088a63c15f68bbdb9de21bc69d25d6798ab4cc7, date=2024-03-28T07:35:40Z)

Now, we’re ready to rock!

There are sub-commands that we can break down the Instana backend installation process
but the simplest way to spin up the complete Instana backend, including datastore
components, is to run “stanctl up”:

$ stanctl up

Important note: there are some pre-flight checks including the checks of the volume sizes of
the mount points. If you’re running small POCs and just simply trying on TechZone, which
typically has 100G disk only, you may skip such checks by enabling the flag of “--skip-
preflight-check”, like this:

$ stanctl up --skip-preflight-check

This will kick off the guided installation process, and what we need to prepare and decide
are just a few items:
• Installation type: we should pick “demo” if the resource specs are 16c64G.
• Instana download key: this is part of the license.
• Instana sales key: this is part of the license.
• Domain name / FQDN: for simplicity, we can simply pick <IP>.nip.io, which will
become a good FQDN that can automatically resolve the IP specified.
• Tenant name: Instana has built-in multi-tenancy support, type your desired Tenant
name here.
• Unit name: Under the tenant, there can be 1 or multiple Units, where the actually
data will be reside in for isolation and management purposes.
• TLS cert: as mentioned, we can prepare beforehand or simply let the CLI to generate
for us.

$ stanctl up --skip-preflight-check

? Select installation type: demo


? Enter the download key or an official agent key: **********************
? Enter the sales key: **********************
? Enter the domain under which Instana will be reachable: FQDN, e.g.162.133.113.15.nip.io
? Enter your tenant name: Tenant Name, e.g. ibm
? Enter your unit name: Tenant Unit Name, e.g. prod
? Enter Instana admin password: **********
? Confirm Instana admin password: **********
? Enter TLS certificate file (hit ENTER to auto-generate):
Warning: You have chosen to skip preflight checks in a non-production environment. This may lead to issues.
⠦ Setting up the cluster [1m37s] ✓
⠋ Starting cluster [25s] ✓
⠋ Applying pre-requisites [28s] ✓
⠋ Waiting for cert-manager [0s] ✓
⠸ Applying data stores [1m7s] ✓
⠙ Waiting for data stores [4m29s] ✓
⠋ Starting backend [0s] ✓
⠏ Applying instana-operator [33s] ✓
⠙ Applying instana-core [9s] ✓
⠴ Applying instana-unit [0s] ✓
⠦ Waiting for Core/instana-core [3m6s] ✓
⠇ Waiting for Unit/instana-unit [1m50s] ✓
****************************************************************
* Successfully installed Instana Self-Hosted Standard Edition! *
* *
* URL: https://162.133.113.15.nip.io *
* Username: admin@instana.local *
****************************************************************

The overall process takes about 15-30 minutes, mainly depending on your server’s
download speed for the container images.

Please also note that, the “stanctl” CLI well supports .env so you may simply put all
necessary variables into such a “.env” file to make the installation process fully quiet and
streamlined without such prompts for answers.
For example, we can create a “.env” file under current folder like below and then run
“stanctl up” command without the need to go through an interactive process:

$ cat <<EOF > .env


STANCTL_INSTALL_TYPE=demo

STANCTL_DOWNLOAD_KEY=**********************
STANCTL_SALES_KEY=**********************

STANCTL_CORE_BASE_DOMAIN=FQDN, e.g.162.133.113.15.nip.io
STANCTL_UNIT_TENANT_NAME=Tenant Name, e.g. ibm
STANCTL_UNIT_UNIT_NAME=Tenant Unit Name, e.g. prod
STANCTL_UNIT_INITIAL_ADMIN_PASSWORD=**********

STANCTL_VOLUME_ANALYTICS=/mnt/instana/analytics
STANCTL_VOLUME_DATA=/mnt/instana/data
STANCTL_VOLUME_METRICS=/mnt/instana/metrics
STANCTL_VOLUME_OBJECTS=/mnt/instana/objects
EOF

$ stanctl up --skip-preflight-check -q

5. Post Actions

5.1 Self-monitoring by Agent

“Who monitors the monitors?”


Well, we now have the answer in Instana: Instana monitors itself by its agent!

The “stanctl” CLI offers a dedicated sub-command to enable self-monitoring:


$ stanctl agent apply

The command will take a few seconds to complete and after a few minutes, the Instana
backend will be displayed on the Infrastructure View:

And since it’s installed on the Kubernetes, the cluster will be automatically monitored as
well. Navigate to Kubernetes menu (or Platforms -> Kubernetes if you have more platforms
monitored):
5.2 Enable Beta / Extensible Features

Since the Instana is now deployed on Kubernetes – well, K3s is just another Kubernetes
distribution – all beta / extensible features can be enabled. So there is great feature parity
compared to Instana’s SaaS offering.

Please keep in mind that, the “demo” profile is meant to have only the core features when
running in a 16c64g VM. As you can see based on below commands, that the 16c64g VM has
high utilization already, at about 85% CPU and 86% memory at request, after installing the
Instana backend and the agent for self-monitoring:

# K3s has built-in kubectl but an alias is recommended to simplify the command
$ alias k="k3s kubectl"

$ k get node
NAME STATUS ROLES AGE VERSION
itz-550004ghs4-w63m Ready control-plane,master 37m v1.29.0+k3s1

$ k describe node itz-550004ghs4-w63m


...
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource Requests Limits
-------- -------- ------
cpu 13670m (85%) 5400m (33%)
memory 56855588Ki (86%) 53344472Ki (81%)
...

But if you have sufficient resources than the bare minimum, it’s extremely easy to enable
extensible and configurable features by properly setting the desired feature flags. Please
refer to this page for the extensible features, while keep evolving to be more and better.

For example, we can enable Synthetics Monitoring and Logging:

# Enable Synthetics Monitoring


$ stanctl backend apply --core-feature-flags feature.synthetics.enabled=true

# Enable Logging
$ stanctl backend apply --core-feature-flags feature.logging.enabled=true

5.3 Others

The bundled K3s has built-in kubectl CLI. We can refer it by typing “k3s kubectl”, or to make
it even simpler, we can create aliases:

$ cat <<EOF >> ~/.bashrc


alias k="k3s kubectl"
alias kg="k3s kubectl get"
EOF

$ source ~/.bashrc

From now on, we can use k to call kubectl command. For example:

$ k get node
NAME STATUS ROLES AGE VERSION
itz-550004ghs4-rtma.dte.demo.ibmcloud.com Ready control-plane,master 21m v1.29.1+k3s1
Installation Process – Air-gapped Mode
The “stanctl” supports not only online mode but also the air-gapped mode, which makes it a
perfect tool for on-prem environment.

0. Prepare in the Bastion Machine


The “bastion machine” is a machine where has the Internet access, which may be just your
laptop.

Let me assume that you’ve installed the “stanctl” CLI by following step 3 of the “online
mode”.

To prepare the bundled air-gapped packages, do this:

export INSTANA_DOWNLOAD_KEY=<YOUR INSTANA DOWNLOAD KEY>


export INSTANA_SALES_KEY=<YOUR INSTANA SALES KEY>

stanctl air-gapped package \


--platform linux/amd64 \
--download-key=${INSTANA_DOWNLOAD_KEY} \
--registry-password=${INSTANA_DOWNLOAD_KEY} \
--sales-key=${INSTANA_SALES_KEY}

The packaging process would take some time, 1 hour or so, depending on your download
speed – it took me ~50mins on TechZone:

⠋ Packaging stanctl artifacts [0s] ✓


⠋ Packaging BuildMeta artifacts [0s] ✓
⠙ Packaging Cluster artifacts [2s] ✓
⠼ Packaging Geodb artifacts [3s] ✓
⠇ Packaging Helm artifacts [45s] ✓
⠏ Packaging License artifacts [0s] ✓
⠏ Packaging Registry (linux/amd64) artifacts [46m11s] ✓
⠴ Archiving air-gapped package [16s] ✓

------------------------------------------
Air-gapped package successfully exported!

File: instana-airgapped.tar.gz
------------------------------------------

By default, the packaged file will be generated in the current folder as “instana-
airgapped.tar.gz”, you may specify the desired folder by flag of “-o, --output-dir string”.

$ ls -l
total 16440776
-rw-rw-r--. 1 itzuser itzuser 16835349234 Mar 17 23:12 instana-airgapped.tar.gz

Now, you may simply cover this file over to the targeted VM in the air-gapped env.

1. Spinning up the VM
(same as online mode)

2. Preparing
(same as online mode, but Internet access is NOT needed)

3. Installing “stanctl” CLI


Let’s assume that the downloaded packaged file has been copied over to this VM.

Please note that the “stanctl” CLI is packaged into the downloaded file so we can extract it
from that file and move it to the proper place. For example:

$ tar -zxvf instana-airgapped.tar.gz airgapped/stanctl


$ ls airgapped/
stanctl
# Move it to the /usr/local/bin/ for convenience
$ sudo chmod +x airgapped/stanctl
$ sudo mv airgapped/stanctl /usr/local/bin/

# Verify it
$ stanctl --version
stanctl version 1.0.0 (commit=0088a63c15f68bbdb9de21bc69d25d6798ab4cc7, date=2024-03-28T07:35:40Z)

4. Importing packages
We now can import the downloaded packages:
stanctl air-gapped import -f instana-airgapped.tar.gz

The process would take one minute or less:

⠦ Extracting air-gapped package [16s] ✓


⠋ Importing BuildMeta artifacts [0s] ✓
⠼ Importing Cluster artifacts [0s] ✓
⠋ Importing Helm artifacts [0s] ✓
⠋ Importing License artifacts [0s] ✓
⠋ Importing Registry artifacts [0s] ✓

5. Installing Instana backend


There are sub-commands that we can break down the Instana backend installation process
but the simplest way to spin up the complete Instana backend, including datastore
components, is to run “stanctl up”:

$ stanctl up --air-gapped

Important note: there are some pre-flight checks including the checks of the volume sizes of
the mount points. If you’re running small POCs and just simply trying on TechZone, which
typically has 100G disk only, you may skip such checks by enabling the flag of “--skip-
preflight-check”, like this:

$ stanctl up --air-gapped --skip-preflight-check

This will kick off the guided installation process, and what we need to prepare and decide
are just a few items:
• Installation type: we should pick “demo” if the resource specs are 16c64G.
• Instana download key: this is part of the license.
• Instana sales key: this is part of the license.
• Domain name / FQDN: for simplicity, we can simply pick <IP>.nip.io, which will
become a good FQDN that can automatically resolve the IP specified.
• Tenant name: Instana has built-in multi-tenancy support, type your desired Tenant
name here.
• Unit name: Under the tenant, there can be 1 or multiple Units, where the actually
data will be reside in for isolation and management purposes.
• TLS cert: as mentioned, we can prepare beforehand or simply let the CLI to generate
for us.

$ stanctl up --air-gapped --skip-preflight-check


? Select installation type: demo
? Enter the download key or an official agent key: **********************
? Enter the sales key: **********************
? Enter the domain under which Instana will be reachable: FQDN, 62.133.113.4.nip.io
? Enter your tenant name: Tenant Name, e.g. ibm
? Enter your unit name: Tenant Unit Name, e.g. prod
? Enter Instana admin password: *********
? Confirm Instana admin password: *********
? Enter TLS certificate file (hit ENTER to auto-generate):
⠦ Setting up the Kubernetes cluster [23s] ✓
⠋ Importing images [70/70] [6m20s] ✓
⠋ Starting Kubernetes cluster [0s] ✓
⠙ Applying pre-requisites [26s] ✓
⠋ Waiting for cert-manager [0s] ✓
⠦ Applying data stores [37s] ✓
⠋ Waiting for data stores [3m29s] ✓
⠋ Starting backend [0s] ✓
⠧ Applying instana-operator [13s] ✓
⠏ Applying instana-core [2s] ✓
⠴ Applying instana-unit [0s] ✓
⠦ Waiting for Core/instana-core [2m0s] ✓
⠙ Waiting for Unit/instana-unit [55s] ✓

****************************************************************
* Successfully installed Instana Self-Hosted Standard Edition! *
* *
* URL: https://162.133.113.4.nip.io *
* Username: admin@instana.local *
****************************************************************

The overall process takes about 15-20 minutes.

Please also note that, the “stanctl” CLI well supports “.env” so you may simply put all
necessary variables into such a “.env” file to make the installation process fully quiet and
streamlined without such prompts for answers.
For example, we can create a “.env” file under current folder like below and then run
“stanctl up” command without the need to go through an interactive process:

$ cat <<EOF > .env


STANCTL_INSTALL_TYPE=demo

STANCTL_DOWNLOAD_KEY=**********************
STANCTL_SALES_KEY=**********************
STANCTL_CORE_BASE_DOMAIN=FQDN, e.g.162.133.113.15.nip.io
STANCTL_UNIT_TENANT_NAME=Tenant Name, e.g. ibm
STANCTL_UNIT_UNIT_NAME=Tenant Unit Name, e.g. prod
STANCTL_UNIT_INITIAL_ADMIN_PASSWORD=**********

STANCTL_VOLUME_ANALYTICS=/mnt/instana/analytics
STANCTL_VOLUME_DATA=/mnt/instana/data
STANCTL_VOLUME_METRICS=/mnt/instana/metrics
STANCTL_VOLUME_OBJECTS=/mnt/instana/objects
EOF

$ stanctl up --air-gapped --skip-preflight-check -q

6. Post Actions
(same as online mode – please refer to the respective section for steps)

Annex

TLS Certs
TLS cert is optional as the “stanctl” CLI will generate if you’re okay with the generated one.
In the real world, you either can use your official one generated by CA, or just a self-signed
one by a simple process as illustrated below:

# TLS
$ curl -sLO https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64
$ chmod +x mkcert-v1.4.3-linux-amd64 && sudo mv mkcert-v1.4.3-linux-amd64 /usr/local/bin/mkcert

# Create a TLS key pair with <INSTANA SERVER IP>.nip.io as its CN


# or skip this if you're going to use your key pair
# NOTE: PLEASE CHANGE TO YOUR IP
$ INSTANA_SERVER_IP=162.133.113.8 && \
mkcert -cert-file tls.crt -key-file tls.key "${INSTANA_SERVER_IP}.nip.io" "${INSTANA_SERVER_IP}"

In this case, a pair of TLS cert/key will be generated:

Created a new local CA 💥


Note: the local CA is not installed in the system trust store.
Run "mkcert -install" for certificates to be trusted automatically ⚠️

Created a new certificate valid for the following names 📜


- "162.133.113.8.nip.io"
- "162.133.113.8"

The certificate is at "tls.crt" and the key at "tls.key" ✅

It will expire on 25 August 2025 🗓

We may have a check:

$ ls
tls.crt tls.key

Important Node: The TLS cert generated by mkcert does’t have CN, some legacy
components connecting to Instana TLS endpoints powered by this TLS might have some
issues. In this case, use cfssl instead.

Resource Utilization
Currently, the “stanctl” is targeting two types of VM specs, as mentioned in above “VM
Specs” section.
Profile vCPU Memory Purposes
demo 16 64GB Demo, test, POC
production 24 96GB Production, heavy POC

Let’s take a look the VM resource utilization as of v0.6.0:

$ alias k="k3s kubectl"

$ k get node
NAME STATUS ROLES AGE VERSION
instana-0 Ready control-plane,master 39m v1.29.2+k3s1

$ k describe no/instana-0
...
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource Requests Limits
-------- -------- ------
cpu 13720m (85%) 7400m (46%)
memory 58072100Ki (88%) 55576792Ki (84%)
ephemeral-storage 0 (0%) 0 (0%)
hugepages-1Gi 0 (0%) 0 (0%)
hugepages-2Mi 0 (0%) 0 (0%)
As you can see, with the default setup plus the self-monitored agent installed:
• The CPU requests are at 85%;
• The memory requests are at 88%.

So, please consider use 24c96G for bigger POCs.

Clean Up
It’s possible to clean up the complete Instana setup.

# Clean up K8s objects and K8s itself


$ k3s-uninstall.sh

# Clean up config files


$ rm -rf ~/.stanctl

# Clean up data files


$ sudo rm -rf /mnt/instana

Then reboot the VM and the Instana will be completely removed.

You might also like