diff --git a/tools/deployment/spider-helm/Chart.yaml b/tools/deployment/spider-helm/Chart.yaml index ee7b30088..726a529b6 100644 --- a/tools/deployment/spider-helm/Chart.yaml +++ b/tools/deployment/spider-helm/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: "v2" name: "spider" description: "A Helm chart for the Spider Huntsman deployment" type: "application" -version: "0.1.1" +version: "0.1.2" appVersion: "0.1.0" home: "https://github.com/y-scope/spider" sources: ["https://github.com/y-scope/spider"] diff --git a/tools/deployment/spider-helm/templates/configmap.yaml b/tools/deployment/spider-helm/templates/configmap.yaml index 7e0aa0a64..ac1dd1049 100644 --- a/tools/deployment/spider-helm/templates/configmap.yaml +++ b/tools/deployment/spider-helm/templates/configmap.yaml @@ -5,6 +5,21 @@ metadata: labels: {{- include "spider.labels" . | nindent 4 }} data: + scheduler.yaml: | + connection_pool_size: {{ .Values.spiderConfig.scheduler.connection_pool_size }} + host: "0.0.0.0" + port: {{ .Values.spiderConfig.scheduler.port }} + runtime: + advertised_endpoint: + host: {{ include "spider.componentFullname" (dict "root" . "component" "scheduler") | quote }} + port: {{ .Values.spiderConfig.scheduler.port }} + scheduler: + policy: {{ .Values.spiderConfig.scheduler.runtime.scheduler.policy | quote }} + config: + {{- toYaml .Values.spiderConfig.scheduler.runtime.scheduler.config | nindent 10 }} + storage_endpoint: + host: {{ include "spider.componentFullname" (dict "root" . "component" "storage") | quote }} + port: {{ .Values.spiderConfig.storage.port }} storage.yaml: | host: "0.0.0.0" port: {{ .Values.spiderConfig.storage.port }} diff --git a/tools/deployment/spider-helm/templates/scheduler-deployment.yaml b/tools/deployment/spider-helm/templates/scheduler-deployment.yaml new file mode 100644 index 000000000..4d087ed5e --- /dev/null +++ b/tools/deployment/spider-helm/templates/scheduler-deployment.yaml @@ -0,0 +1,44 @@ +apiVersion: "apps/v1" +kind: "Deployment" +metadata: + name: {{ include "spider.componentFullname" (dict "root" . "component" "scheduler") }} + labels: + {{- include "spider.labels" . | nindent 4 }} + app.kubernetes.io/component: "scheduler" +spec: + replicas: 1 + selector: + matchLabels: + {{- include "spider.selectorLabels" . | nindent 6 }} + app.kubernetes.io/component: "scheduler" + template: + metadata: + labels: + {{- include "spider.labels" . | nindent 8 }} + app.kubernetes.io/component: "scheduler" + spec: + containers: + - name: "scheduler" + image: {{ include "spider.imageRef" (dict "root" . "component" "scheduler") | quote }} + imagePullPolicy: {{ .Values.image.scheduler.pullPolicy | quote }} + command: ["spider-scheduler", "--config", "/etc/spider/scheduler.yaml"] + ports: + - name: "grpc" + containerPort: {{ .Values.spiderConfig.scheduler.port }} + volumeMounts: + - name: "config" + mountPath: "/etc/spider/scheduler.yaml" + subPath: "scheduler.yaml" + readOnly: true + readinessProbe: + {{- include "spider.readinessProbeTimings" . | nindent 12 }} + tcpSocket: + port: "grpc" + livenessProbe: + {{- include "spider.livenessProbeTimings" . | nindent 12 }} + tcpSocket: + port: "grpc" + volumes: + - name: "config" + configMap: + name: {{ include "spider.componentFullname" (dict "root" . "component" "config") }} diff --git a/tools/deployment/spider-helm/templates/scheduler-service.yaml b/tools/deployment/spider-helm/templates/scheduler-service.yaml new file mode 100644 index 000000000..353e337ef --- /dev/null +++ b/tools/deployment/spider-helm/templates/scheduler-service.yaml @@ -0,0 +1,15 @@ +apiVersion: "v1" +kind: "Service" +metadata: + name: {{ include "spider.componentFullname" (dict "root" . "component" "scheduler") }} + labels: + {{- include "spider.labels" . | nindent 4 }} + app.kubernetes.io/component: "scheduler" +spec: + selector: + {{- include "spider.selectorLabels" . | nindent 4 }} + app.kubernetes.io/component: "scheduler" + ports: + - name: "grpc" + port: {{ .Values.spiderConfig.scheduler.port }} + targetPort: "grpc" diff --git a/tools/deployment/spider-helm/values.yaml b/tools/deployment/spider-helm/values.yaml index 5d47931a6..801602847 100644 --- a/tools/deployment/spider-helm/values.yaml +++ b/tools/deployment/spider-helm/values.yaml @@ -6,6 +6,10 @@ image: pullPolicy: "Always" repository: "mariadb" tag: "10.11.16" + scheduler: + pullPolicy: "Always" + repository: "ghcr.io/y-scope/spider/scheduler" + tag: "main" storage: pullPolicy: "Always" repository: "ghcr.io/y-scope/spider/storage" @@ -30,6 +34,22 @@ spiderConfig: root_password: "spider-root-password" username: "spider-user" + scheduler: + connection_pool_size: 4 + port: 50052 + runtime: + scheduler: + policy: "round_robin" + config: + active_job_queue_capacity: 64 + cleanup_ready_task_capacity: 256 + commit_ready_task_capacity: 256 + dispatch_queue_capacity: 64 + finalizing_job_expiration_timeout_sec: 300 + ready_task_capacity: 65536 + storage_poll_timeout_ms: 10 + tick_interval_ms: 5 + storage: port: 50051 runtime: