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:
CPU with at least 2 cores
4 GB of RAM
20 GB of disk space
8 Minimum Node Group Size
16 Maximum Node Group Size
8 Desired Node Group Size
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
Download and extract the Germain UX package
CODEwget < Public URL to be Finalized > tar xzf germainux-kubernetes-2023.4-binary.tar.gz
Deploy your license key
CODEUpdate 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.
Configure cluster settings in
deploy-germain.sh
file as per requirement. Recommended settings for a small cluster is as below.CODEelasticSearchVersion="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
If you are planning to use an external database for config store, you need to modify the below two parameters and set the
mysqlReplicase
to0
. (optional)CODEgermainDbHostname="test-db" germainEnvName=germain-qa
Make sure you update the common.properties file with proper DB details for config store
CODEgermain.config.url=jdbc:mysql://germainapm-mysql:3306/APMCFG?rewriteBatchedStatements=true germain.config.username=APMCFG germain.config.password=APMCFG
Update email settings (optional)
Update the email settings in the included common.properties file to match your SMTP server:Make sure your
kubectl
command is configured to run kubernetes commands.CODEkubectl get nodes
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 withkubecl apply
commands. Make sure you apply them in below order.CODE1) configmap folder 2) infra folder 3) germain folder
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/
Component Internal: Germain Enterprise