Kubernetes Setup

This guide will walk you through setting up a small Germain UX environment, suitable for testing purposes. Please note that this configuration is not recommended for production environments.

💻 Hardware Requirements for the Kubernetes Cluster:

Requirement

Details

CPU

CPU with at least 2 cores

RAM

4 GB of RAM

Disk

20 GB of disk space

Minimum Node Group Size

8 Minimum Node Group Size

Maximum Node Group Size

16 Maximum Node Group Size

Desired Node Group Size

8 Desired Node Group Size

Node Volume Type

GP3 Node Volume Type

Note: The cluster size mentioned here is based on the availability of our lab environments and serves as a sample use case. Feel free to adjust your cluster size based on the availability of memory and CPU per node.

💾 Software Requirements

Kubernetes Cluster

🚀 Installation

Step

Instruction

Details

1

Download and extract the Germain UX package

wget < Public URL to be Finalized >
tar xzf germainux-kubernetes-2023.4-binary.tar.gz

2

Deploy your license key

Update your license details inside the below file
File Name: germain.apm.monitoringConfig.systemConfig.license.json
File Path: <EXTRACTED_FILES>/templates/config/license/

Update the encrypted value in the license file with your license file text content.

Image

Screenshot 2024-02-26 at 18.04.30.png

3

Configure cluster settings in deploy-germain.sh file as per requirement. Recommended settings for a small cluster is as below.

elasticSearchVersion="8.8.1"
mysqlVersion="8"
kibanaVersion="8.8.1"
activeMqVersion="5.18.3"
zookeeperVersion="3.6.3"
hazelcastVersion="5.2.2-SNAPSHOT"
kafkaVersion="3.4"
germainVersion=2023.3
germainApmBuildRegistry=public.ecr.aws/h0m9e4y5
germainEnvName=germain-demo

4

If you are planning to use an external database for config store, you need to modify the below two parameters and set the mysqlReplicase to 0. (optional)

germainDbHostname="test-db"
germainEnvName=germain-qa

Make sure you update the common.properties file with proper DB details for config store

germain.config.url=jdbc:mysql://germainapm-mysql:3306/APMCFG?rewriteBatchedStatements=true
germain.config.username=APMCFG
germain.config.password=APMCFG

5

Update email settings (optional)

Update the email settings in the included common.properties file to match your SMTP server:

Image

image-20230519-195357.png

6

Make sure your kubectl command is configured to run kubernetes commands.

kubectl get nodes

7

Start your cluster deployments running deploy-germain.sh

Note: This will create the kubernetes yaml files inside your germainEnvName folder and you can re-use them in any of your kubernetes clusters with kubecl apply commands. Make sure you apply them in below order.

1) configmap folder
2) infra folder
3) germain folder

8

At the end of your command output, you will get the url to connect to the Germain UX Workspace.

By default, the workspace can be accessed on port 8080 using the default credentials (admin / admin):
ex: http://<your final url>:8080/germainapm/workspace/

image-20230614-183943.png

Component Internal: Germain Enterprise