Guidelines on TimeBase deployment in Kubernetes
Click Tag to Display Pages: deployment

Installing With Helm Chart

Add the GitLab Helm repository:

helm repo add epm-rtc https://nexus.deltixhub.com/repository/rtc-helm-release --username ${REPO_USER} --password ${REPO_PASSWORD}

If using Helm 2, you must also initialize Helm:

helm init

Once you have configured TimeBase in your values.yaml file, run the following:

helm install --namespace <NAMESPACE> --name timebase -f <CONFIG_VALUES_FILE> epm-rtc/timebase

Where:

  • <NAMESPACE> is the Kubernetes namespace where you want to install the TimeBase.
  • <CONFIG_VALUES_FILE> is the path to values file containing your custom configuration.
  • --version <RUNNER_HELM_CHART_VERSION> - add this to your helm install command to install a particular version of TimeBase Helm Chart

Chart Values


Values file example 

global:
  imagePullSecrets: cryptocortex-docker-registry
######### temp
docker:
  registry:
    url: nexus.epm-ces.projects.epam.com
    username: Developer
    password: ""
############

server:
  image: nexus.epm-ces.projects.epam.com/quantserver.docker/timebase/server:5.3.69-openjdk
  serial: ""
  timebaseVersion: 5.3.69
  logLevel: "WARN"
  maxEntriesPerSecond: 300
  #heapSize: 4gb

  # server.resources -- Configure the resources for the TimeBase server
  resources:
    requests:
      cpu: 2
      memory: 2Gi
    limits:
      cpu: 4
      memory: 10Gi
  persistence:
    accessModes: "ReadWriteOnce"
    size: 10Gi
    ## Timebase data Persistent Volume Storage Class
    ## If defined, storageClassName: <storageClass>
    ## If set to "-", storageClassName: "", which disables dynamic provisioning
    ## If undefined (the default) or set to null, no storageClassName spec is
    ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
    ##   GKE, AWS & OpenStack)
    ##
    storageClass: timebase-server-sc
  properties:
    # server.properties.lingerInterval -- Connection Linger Time
    lingerInterval: "5S"
    # server.properties.maxConnections -- The maximum number of concurrent connections that the server will accept and process.
    maxConnections: 100
    # server.properties.port -- Timebase Server port
    port: 8011
    # server.properties.readOnly -- Read-only mode
    readOnly: false
    # server.properties.safeMode -- Using Save Mode will provide additional logging and disable streams with errors on startup
    safeMode: false
admin:
  image: nexus.epm-ces.projects.epam.com/quantserver.docker/timebase/ws-server:0.3.34-openjdk
  # admin.resources -- Configure the resources for the timebase web admin
  resources:
    requests:
      cpu: 0.2
      memory: 256Mi
    limits:
      cpu: 1
      memory: 1Gi
client:
  image: nexus.epm-ces.projects.epam.com/quantserver.docker/timebase/client:5.3.69-openjdk
  imagePullPolicy: "IfNotPresent"
  # client.resources -- Configure the resources for the timebase client
  resources:
    requests:
      cpu: 0.2
      memory: 128Mi
    limits:
      cpu: 1
      memory: 512Mi
ingress:
  enabled: false
  # Values can be templated
  annotations: {}
    # kubernetes.io/ingress.class: nginx
    # kubernetes.io/tls-acme: "true"
  path: /*
  hosts:
  - chart-example.local
  ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
  extraPaths: []
  # - path: /*
  #   backend:
  #     serviceName: ssl-redirect
  #     servicePort: use-annotation
  tls: []
  #  - secretName: chart-example-tls
  #    hosts:
  #      - chart-example.local

Key Type Default Description
admin.image string "nexus.epm-ces.projects.epam.com/quantserver.docker/timebase/ws-server:0.3.34-openjdk"
admin.resources object {"limits":{"cpu":1,"memory":"1Gi"},"requests":{"cpu":0.2,"memory":"256Mi"}} Configure the resources for the timebase web admin
client.image string "nexus.epm-ces.projects.epam.com/quantserver.docker/timebase/client:5.3.69-openjdk"
client.imagePullPolicy string "IfNotPresent"
client.resources object {"limits":{"cpu":1,"memory":"512Mi"},"requests":{"cpu":0.2,"memory":"128Mi"}} Configure the resources for the timebase client
docker.registry.password string ""
docker.registry.url string "nexus.epm-ces.projects.epam.com"
docker.registry.username string "Developer"
global.imagePullSecrets string "cryptocortex-docker-registry"
ingress.annotations object {}
ingress.enabled bool false
ingress.extraPaths list []
ingress.hosts[0] string "chart-example.local"
ingress.labels object {}
ingress.path string "/"
ingress.tls list []
server.image string "nexus.epm-ces.projects.epam.com/quantserver.docker/timebase/server:5.3.69-openjdk"
server.logLevel string "WARN"
server.maxEntriesPerSecond int 300
server.persistence.accessModes string "ReadWriteOnce"
server.persistence.size string "10Gi"
server.persistence.storageClass string "timebase-server-sc"
server.properties.lingerInterval string "5S" Connection Linger Time
server.properties.maxConnections int 100 The maximum number of concurrent connections that the server will accept and process.
server.properties.port int 8011 Timebase Server port
server.properties.readOnly bool false Read-only mode
server.properties.safeMode bool false Using Save Mode will provide additional logging and disable streams with errors on startup
server.resources object {"limits":{"cpu":4,"memory":"10Gi"},"requests":{"cpu":2,"memory":"2Gi"}} Configure the resources for the timebase server
server.serial string ""
server.timebaseVersion string "5.3.69"