Update values.yaml and worker.py for runtime installation logic - Updated helm upgrade command version in values.yaml from 0.6.1 to 0.6.5 for deployment reference. - Modified worker.py to adjust runtime installation logic, ensuring 'legacy' runtime is set to 'single' for compatibility.
315 lines
9.1 KiB
YAML
315 lines
9.1 KiB
YAML
#
|
|
# Default values for sientia-laborious-worker using the sientia-module chart (0.6.x).
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
#
|
|
|
|
projectName: &projectName "sientia-laborious-worker"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Global configuration shared by all runtimes
|
|
# -----------------------------------------------------------------------------
|
|
global:
|
|
namespace: sientia
|
|
|
|
image:
|
|
repository: aignosi.azurecr.io/sientia-module
|
|
pullPolicy: Always
|
|
tag: "1.2.0"
|
|
|
|
commonLabels: {}
|
|
|
|
resources:
|
|
# Resource limits and requests are important for ResourceBasedTuner to work correctly.
|
|
# The tuner monitors system CPU and memory usage, so proper resource limits must be set.
|
|
limits:
|
|
cpu: 2000m
|
|
memory: 20Gi
|
|
requests:
|
|
cpu: 1000m
|
|
memory: 2Gi
|
|
|
|
livenessProbe:
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- |
|
|
curl -sf http://localhost:9090/metrics | grep -q '^app_up{.*} 1'
|
|
initialDelaySeconds: 1260
|
|
periodSeconds: 15
|
|
timeoutSeconds: 5
|
|
failureThreshold: 3
|
|
|
|
readinessProbe:
|
|
exec:
|
|
command:
|
|
- sh
|
|
- -c
|
|
- |
|
|
curl -sf http://localhost:9090/metrics | grep -q '^app_up{.*} 1'
|
|
initialDelaySeconds: 1200
|
|
periodSeconds: 10
|
|
timeoutSeconds: 3
|
|
failureThreshold: 2
|
|
|
|
autoscaling:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 100
|
|
targetCPUUtilizationPercentage: 80
|
|
# targetMemoryUtilizationPercentage: 80
|
|
|
|
# Environment variables shared by all runtimes.
|
|
env:
|
|
# Entrypoint variables
|
|
- name: GITHUB_REPO_URL
|
|
value: "git@github.com:Aignosi/sientia-dataops-laborious_temporal.git"
|
|
- name: GITHUB_BRANCH
|
|
value: "release/SIENTIAPDE-1646"
|
|
- name: PYTHON_APP
|
|
value: "laborious.worker.worker"
|
|
- name: PYPI_SERVER
|
|
value: "http://library-distribution-server.library.svc.cluster.local:5000"
|
|
|
|
# Application variables
|
|
- name: POSTGRES_HOST
|
|
value: "paradedb-rw.paradedb.svc.cluster.local"
|
|
- name: POSTGRES_PORT
|
|
value: "5432"
|
|
- name: POSTGRES_USER
|
|
value: "postgres"
|
|
- name: POSTGRES_PASSWORD
|
|
value: "nFqc81y6kwmr2zuAIx43DhiOosFCVPpeEfTtTWZflkNjB2j1KtEeIANkhFR9mAX3"
|
|
- name: POSTGRES_DBNAME
|
|
value: "sientia"
|
|
- name: POSTGRES_MIN_CONNECTIONS
|
|
value: "20"
|
|
# max_connections = number_of_workers * max_concurrent_activities * safety_factor
|
|
# Example: 4 workers * 50 activities * 0.5 = 100 connections
|
|
- name: POSTGRES_MAX_CONNECTIONS
|
|
value: "100"
|
|
|
|
- name: MLFLOW_URL
|
|
value: "http://sientia-tracker-mlflow-tracking.sientia-tracker.svc.cluster.local:80"
|
|
- name: MLFLOW_USERNAME
|
|
value: "aignosi"
|
|
- name: MLFLOW_PASSWORD
|
|
value: "1L0FP50j3ncp123"
|
|
|
|
# Plugin store (model-library-store Git + runtime packages).
|
|
- name: STORE_BASE_URL
|
|
value: "http://gitea-http.gitea.svc.cluster.local:3000"
|
|
- name: STORE_OWNER
|
|
value: "aignosi"
|
|
- name: STORE_REPO
|
|
value: "suse-model-store"
|
|
- name: STORE_USERNAME
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: sientia-plugin-store-credentials
|
|
key: username
|
|
- name: STORE_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: sientia-plugin-store-credentials
|
|
key: password
|
|
- name: STORE_CACHE_TTL_SECONDS
|
|
value: "3600"
|
|
|
|
- name: OPC_ID
|
|
value: "1"
|
|
- name: OPC_SERVER_NAME
|
|
value: "default_server"
|
|
- name: OPC_URL
|
|
value: "opc.tcp://sientia-opc-simulator-opc.sientia.svc.cluster.local:4840"
|
|
|
|
- name: LOG_LEVEL
|
|
value: "DEBUG"
|
|
- name: HTTP_METRICS_PORT
|
|
value: "9090"
|
|
- name: HTTP_SDK_METRICS_PORT
|
|
value: "9091"
|
|
- name: PROJECT_NAME
|
|
value: "sientia-laborious"
|
|
|
|
- name: TEMPORAL_HOST
|
|
value: "temporal-frontend.temporal.svc.cluster.local:7233"
|
|
- name: TEMPORAL_NAMESPACE
|
|
value: "laborious"
|
|
|
|
- name: MONGODB_USERNAME
|
|
value: "root"
|
|
- name: MONGODB_PASSWORD
|
|
value: "wKZDbMNU1c"
|
|
- name: MONGODB_URL
|
|
value: "my-release-mongodb.mongodb.svc.cluster.local:27017"
|
|
- name: MONGODB_DATABASE
|
|
value: "sientia"
|
|
- name: MONGODB_TTL_INDEX_HOURS
|
|
value: "1"
|
|
|
|
- name: MINIO_ENDPOINT_URL
|
|
value: "minio.minio.svc.cluster.local:9000"
|
|
- name: MINIO_ACCESS_KEY
|
|
value: "admin"
|
|
- name: MINIO_SECRET_KEY
|
|
value: "LiArt4eNmJ"
|
|
- name: MINIO_DEFAULT_BUCKET
|
|
value: "sientia"
|
|
- name: MINIO_RETENTION_HOURS
|
|
value: "24"
|
|
- name: SIENTIA_MINIO_OFFLOAD_THRESHOLD_MEGABYTES
|
|
value: "0.5"
|
|
|
|
# Temporal worker tuning for PredictionsBatch.
|
|
# IMPORTANT: prefix must be PREDICTIONSBATCH_ (from class name PredictionsBatch).
|
|
- name: PREDICTIONSBATCH_MAX_CONCURRENT_WORKFLOW_TASKS
|
|
value: "20"
|
|
- name: PREDICTIONSBATCH_MAX_CONCURRENT_ACTIVITIES
|
|
value: "60"
|
|
- name: PREDICTIONSBATCH_ACTIVITY_EXECUTOR_MAX_WORKERS
|
|
value: "10"
|
|
- name: PREDICTIONSBATCH_MAX_CONCURRENT_LOCAL_ACTIVITIES
|
|
value: "20"
|
|
- name: PREDICTIONSBATCH_MAX_CACHED_WORKFLOWS
|
|
value: "200"
|
|
- name: PREDICTIONSBATCH_WORKFLOW_POLLER_BEHAVIOUR_MINIMUM
|
|
value: "3"
|
|
- name: PREDICTIONSBATCH_WORKFLOW_POLLER_BEHAVIOUR_INITIAL
|
|
value: "5"
|
|
- name: PREDICTIONSBATCH_WORKFLOW_POLLER_BEHAVIOUR_MAXIMUM
|
|
value: "15"
|
|
- name: PREDICTIONSBATCH_ACTIVITY_POLLER_BEHAVIOUR_MINIMUM
|
|
value: "3"
|
|
- name: PREDICTIONSBATCH_ACTIVITY_POLLER_BEHAVIOUR_INITIAL
|
|
value: "10"
|
|
- name: PREDICTIONSBATCH_ACTIVITY_POLLER_BEHAVIOUR_MAXIMUM
|
|
value: "30"
|
|
|
|
- name: MINIMALRETRAIN_MAX_CONCURRENT_ACTIVITIES
|
|
value: "5"
|
|
- name: MINIMALRETRAIN_ACTIVITY_EXECUTOR_MAX_WORKERS
|
|
value: "5"
|
|
- name: MINIMALRETRAIN_MAX_CONCURRENT_LOCAL_ACTIVITIES
|
|
value: "5"
|
|
- name: MINIMALRETRAIN_MAX_CACHED_WORKFLOWS
|
|
value: "5"
|
|
- name: MINIMALRETRAIN_WORKFLOW_POLLER_BEHAVIOUR_MINIMUM
|
|
value: "5"
|
|
- name: MINIMALRETRAIN_WORKFLOW_POLLER_BEHAVIOUR_INITIAL
|
|
value: "5"
|
|
- name: MINIMALRETRAIN_WORKFLOW_POLLER_BEHAVIOUR_MAXIMUM
|
|
value: "5"
|
|
- name: MINIMALRETRAIN_ACTIVITY_POLLER_BEHAVIOUR_MINIMUM
|
|
value: "5"
|
|
- name: MINIMALRETRAIN_ACTIVITY_POLLER_BEHAVIOUR_INITIAL
|
|
value: "5"
|
|
- name: MINIMALRETRAIN_ACTIVITY_POLLER_BEHAVIOUR_MAXIMUM
|
|
value: "5"
|
|
|
|
- name: PI_WEB_API_BASE_URL
|
|
value: "https://pivision.votorantimcimentos.com/piwebapi"
|
|
- name: PI_WEB_API_AUTH_TYPE
|
|
value: "basic"
|
|
- name: PI_WEB_API_AUTH_TOKEN
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: pi-web-api-auth-token
|
|
key: token
|
|
|
|
# Thread-pool size for non-runtime workers that also use prepare_worker.
|
|
- name: SIMPLEMETRICS_ACTIVITY_EXECUTOR_MAX_WORKERS
|
|
value: "20"
|
|
- name: DRIFT_ACTIVITY_EXECUTOR_MAX_WORKERS
|
|
value: "20"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Runtimes configuration
|
|
# -----------------------------------------------------------------------------
|
|
# IMPORTANT:
|
|
# - The runtime name is used by the worker bootstrap to resolve plugins and task queues.
|
|
# - Keep runtime names in sync with the plugin-store runtime names.
|
|
runtimes:
|
|
basic:
|
|
replicas: 1
|
|
single:
|
|
replicas: 1
|
|
env:
|
|
- name: "GITHUB_BRANCH"
|
|
value: "main"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
# Chart-level configuration (applies to all runtimes)
|
|
# -----------------------------------------------------------------------------
|
|
imagePullSecrets:
|
|
- name: docker-hub-secret
|
|
|
|
nameOverride: *projectName
|
|
fullnameOverride: *projectName
|
|
|
|
serviceAccount:
|
|
create: true
|
|
automount: true
|
|
annotations: {}
|
|
name: *projectName
|
|
|
|
podAnnotations: {}
|
|
podLabels: {}
|
|
|
|
podSecurityContext: {}
|
|
securityContext: {}
|
|
|
|
volumes: []
|
|
volumeMounts: []
|
|
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
affinity: {}
|
|
|
|
services:
|
|
sdk-metrics:
|
|
enabled: true
|
|
type: ClusterIP
|
|
port: 9091
|
|
targetPort: 9091
|
|
name: sdk-metrics
|
|
metrics:
|
|
enabled: true
|
|
type: ClusterIP
|
|
port: 9090
|
|
targetPort: 9090
|
|
name: metrics
|
|
|
|
# Configuração do ServiceMonitor para o Prometheus Operator
|
|
# ref: https://github.com/prometheus-operator/prometheus-operator
|
|
serviceMonitor:
|
|
enabled: true
|
|
endpoints:
|
|
- port: metrics
|
|
path: /metrics
|
|
interval: 30s
|
|
relabelings: []
|
|
- port: sdk-metrics
|
|
path: /metrics
|
|
interval: 30s
|
|
relabelings: []
|
|
additionalLabels:
|
|
release: kube-prometheus-stack
|
|
|
|
ssh:
|
|
enabled: true
|
|
secretName: git-ssh-key-sientia-laborious-worker
|
|
sshPath: /mnt/.ssh
|
|
knownHostsPath: /mnt/known_hosts
|
|
|
|
# kubectl create secret docker-registry docker-hub-secret --namespace sientia --docker-server=http://aignosi.azurecr.io --docker-username=aignosi --docker-password=<pwd>
|
|
#
|
|
# helm upgrade --install sientia-laborious-worker sientia/sientia-module -n sientia --create-namespace -f ./values.yaml --version 0.6.5
|
|
#
|
|
# kubectl create secret generic git-ssh-key-sientia-laborious-worker \
|
|
# --namespace sientia \
|
|
# --from-file=ssh-privatekey=git_key \
|
|
# --type=kubernetes.io/ssh-auth
|
|
|
|
# helm upgrade --install sientia-laborious-worker /home/grezewave/Documents/projects/sientia/sientia-core-applications/sientia-module -n sientia --create-namespace -f ./values.yaml |