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.gzDeploy 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.shfile 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-demoIf you are planning to use an external database for config store, you need to modify the below two parameters and set the
mysqlReplicaseto0. (optional)CODEgermainDbHostname="test-db" germainEnvName=germain-qaMake 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=APMCFGUpdate email settings (optional)
Update the email settings in the included common.properties file to match your SMTP server:
Make sure your
kubectlcommand is configured to run kubernetes commands.CODEkubectl get nodesStart 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 applycommands. Make sure you apply them in below order.CODE1) configmap folder 2) infra folder 3) germain folderAt 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