K8 Configuration

Docker supports MongoDB and PostgreSQL database. Following are the K8 configurations:

PROPERTY DEFAULT VALUE DESCRIPTION Additional Information
MongoDB Database Configuration The same values in values.yaml will be overwritten if provided in the start scripts. ( Note : Start scripts will be present inside ms-savingspot-package-docker-<release_number>\ms-savingspot-docker\k8\on-premise )
DATABASE_KEY mongodb DatabaseKey 
MONGODB_DBNAME ms_savingspot Name of the Database
MONGODB_CONNECTIONSTR mongodb://mongodb-0.mongodb-svc.mongodb.svc.cluster.local:27017,mongodb-1.mongodb-svc.mongodb.svc.cluster.local:27017,mongodb-2.mongodb-svc.mongodb.svc.cluster.local:27017 URL to connect to the MongoDB instance
MONGO_CRED N Variable is set to "Y / N", secrets will be enabled or disabled
MONGODB_USER root Username
MONGODB_PASS ENC(0jDFL9aa9VbB/KfSH6zfEQ==) Password
PostgreSQL Database Configuration
DATABASE_KEY postgresql Database key 
POSTGRESQL_CRED N Variable is set to "Y / N", secrets will be enabled or disabled
POSTGRESQL_CONNECTIONURL jdbc:postgresql://sp-postgresqldb-service.sppostgresql.svc.cluster.local:5500/ms_savingspot URL to connect to the PostgreSQL instance
POSTGRESQL_USERNAME savingspotroot Username
POSTGRESQL_PASSWORD savingspotroot Password
POSTGRESQL_POOLSIZE 5  
POSTGRESQL_MINIDLE 10  
POSTGRESQL_CONTIMEOUT 30000  
POSTGRESQL_LEAKDETECT 0  
Logger
logger_root_level ERROR ERROR, INFO, and DEBUG are the three values present for logger.
Security
temn_msf_security_authz_enabled FALSE Enable or Disable the XACML policy authorization. XACML policy authorization is used to configure security policies and access rights to information for APIs.
Entitlement
temn_entitlement_service_enabled FALSE Enable or Disable the entitlement service. If the property is enabled, the roles and permissions needed for the authentication will be taken from the Entitlement Microservice.
Kafka
temnmsfstreamvendor kafka  
temnqueueimpl kafka  
kafkabootstrapservers my-cluster-kafka-bootstrap.kafka:9092  
schema_registry_url http://schema-registry-svc.kafka.svc.cluster.local  
Schemaregistry
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS PLAINTEXT://my-cluster-kafka-bootstrap.kafka:9092  
SCHEMA_REGISTRY_HOST_NAME schema-registry  
SCHEMA_REGISTRY_LISTENERS http://0.0.0.0:8081  
SCHEMA_REGISTRY_CUB_KAFKA_TIMEOUT "500"  
SCHEMA_REGISTRY_CUB_ZK_TIMEOUT "500"  
SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL PLAINTEXT  
Metrics
publisherPort 9091  
publisherHost 127.0.0.1  
metricsDisabled "true"  
Logging
socketHost 127.0.0.1
  • Logging will be collecting, storing, and analyzing distributed logs. Here Logstash is used for creating an ingestion pipeline for collecting logs from multiple devices and store in Elasticsearch storage for visualizing and analyzing through Grafana.

  • To enable logging socketHost, socketPort, and exportType, the protocol should be uncommented and the required port and host address should be given.

socketPort 9092
exportType Possible values of exportType are- 1.socket 2.console
Service
savingspotapi: type: LoadBalancer port: 9500  
  • A Service in Kubernetes is a REST object, similar to a Pod. Like all of the REST objects, you can POST a Service definition to the API server to create a new instance.

  • Specifies the port, type for the adapterms API, and ingester service if available.

  • When the Service type is set to LoadBalancer, Kubernetes provides functionality equivalent to type equals ClusterIP to pods within the cluster and extends it by programming the (external to Kubernetes) load balancer with entries for the nodes hosting the relevant Kubernetes pod's.

Resources
api: memoryrequest: 812M memorylimit: 1G java: heaplimit: ' -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMPercentage=75.0 '  

Resource management for pods / Containers -- Kubernetes uses to control resources such as CPU and memory
can declare limits for CPU and memory for all pod containers.

 

cpulimit - The CPU limit defines a hard ceiling on how much CPU time the container can use. it should not be less than 1m. can a specific CPU limit be 1m or 0.001.

memorylimit - If you specify a memory limit for every container in a Pod, Kubernetes can infer the Pod-level memory limit by adding up the limits for its containers.

heapLimit -

  • To change the value of experimental flags, you must unlock them first. You can do this by setting -XX:+UnlockExperimentalVMOptions explicitly on the command line before any experimental flags.

  • The flag -XX:+UseCGroupMemoryLimitForHeap lets the JVM detect what the max heap size in a container should be.

  • MaxRAMPercentage parameter allows setting the maximum heap size for a JVM running with a large amount of memory (greater than 200 MB).


Field Name
|
Application/Table name

Temenos Headquarters SA
2 Rue de l'Ecole-de-Chimie
CH - 1205 Geneva
Switzerland

Copyright © 2020- Temenos Headquarters SA

Published on :
Tuesday, May 23, 2023 9:36:34 PM IST