Stan's Corner

 View Only

Launch Instana on Local Kubernetes Cluster in Five Minutes

By YING MO posted Wed August 25, 2021 06:47 PM

  

Background

Instana is the fully-automated Application Performance Management (APM) solution designed specifically for the challenges of managing microservices and cloud-native applications. It supports self-hosted installation which can be deployed on Kubernetes.

In this post, I will share with you a GitHub project that can help you quickly launch an opinionated sandbox that runs the self-hosted Instana for Kubernetes in a local KIND cluster in five minutes or even less than five minutes! This can be a great tool for developers, tech sales, customers, or any other people who are interested in Instana, want to give it a try, do some assessments, set up a quick demo environment, create a PoC against it, or look for a dev environment for agent development, and so on.

About the Sandbox

Typically, you need two Ubuntu VMs:

 Machine    Resource
 machine1   16 core, 32G memory, 250G disk 
 machine2   16 core, 64G memory, 250G disk

  • Use machine1 to install Instana databases and NFS service (for tracing spans persistence).
  • Use machine2 to install KIND cluster and Instana workloads run on it.

w

Launch the Sandbox

To launch the sandbox, you can clone the Git repository to each of your above machines.

git clone https://github.com/morningspace/lab-instana.git

Then, go into the project root folder and run install.sh to start the installation. Before you install, make sure you define the following settings using environment variables:

export INSTANA_DOWNLOAD_KEY="your download key"
export INSTANA_SALES_KEY="your sales key"

On the machine that runs KIND cluster and Instana workloads, please also define the hostname for the machine that runs Instana databases:

# the hostname for the machine that runs Instana databases, e.g. machine1
# please note it is the hostname, not the IP address
export INSTANA_DB_HOST="hostname_of_machine1"

You can also modify ./config.sh for more settings customization.

Bring up environment

Run below commands to bring up Instana databases and NFS service on one machine:

./install.sh up db
./install.sh up nfs

After it's up and running, then run below command to bring up KIND and Instana workloads on another machine:

./install.sh up k8

This may take 10 to 20 minutes or even more depending on your network as it needs to pull images from Instana container registry.

Use local registry

You can use local registry to speed up the installation by caching all Instana images to a local registry. By doing so, to launch the sandbox will only take 5 minutes or even less than 5 minutes!

Let's bring up the local registry on the machine that runs KIND and Instana workloads by running below command:

./install.sh up reg

This will pre-pull all images needed for Instana installation and cache them to the local registry. To use the local registry, add --reg when bring up KIND and Instana workloads on that machine:

./install.sh up k8 --reg

Very straightforward, isn't it?

Clean up

To clean up the installation, you can run below command to take down Instana databases:

./install.sh down db

To take down KIND and Instana workloads, run below command:

./install.sh down k8

Access Instana UI

After Instana is launched, to access Instana UI, open https://${INSTANA_HOST} in web browser, use username: admin@instana.local and password: passw0rd. Here $INSTANA_HOST is the hostname for the machine that runs KIND and Instana workloads.

The Instana login page

That's it!

Summary

As you can see, using the tool, you can launch an Instana sandbox very quickly. If you like it, you can consider to give star to this GitHub project. Any contributions such as bug report and code submission are very welcome. Enjoy!


#Instana
#Kubernetes
#HowTo
#setup
0 comments
155 views

Permalink