You've already forked DataMate
397 lines
12 KiB
YAML
397 lines
12 KiB
YAML
# Default values for ray-cluster.
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
|
|
# The KubeRay community welcomes PRs to expose additional configuration
|
|
# in this Helm chart.
|
|
|
|
image:
|
|
repository: runtime
|
|
tag: latest
|
|
pullPolicy: IfNotPresent
|
|
|
|
nameOverride: "kuberay"
|
|
fullnameOverride: ""
|
|
|
|
imagePullSecrets: []
|
|
# - name: an-existing-secret
|
|
|
|
# common defined values shared between the head and worker
|
|
common:
|
|
# containerEnv specifies environment variables for the Ray head and worker containers.
|
|
# Follows standard K8s container env schema.
|
|
containerEnv: []
|
|
# - name: BLAH
|
|
# value: VAL
|
|
head:
|
|
# rayVersion determines the autoscaler's image version.
|
|
# It should match the Ray version in the image of the containers.
|
|
# rayVersion: 2.46.0
|
|
# If enableInTreeAutoscaling is true, the autoscaler sidecar will be added to the Ray head pod.
|
|
# Ray autoscaler integration is supported only for Ray versions >= 1.11.0
|
|
# Ray autoscaler integration is Beta with KubeRay >= 0.3.0 and Ray >= 2.0.0.
|
|
# enableInTreeAutoscaling: true
|
|
# autoscalerOptions is an OPTIONAL field specifying configuration overrides for the Ray autoscaler.
|
|
# The example configuration shown below represents the DEFAULT values.
|
|
# autoscalerOptions:
|
|
# upscalingMode: Default
|
|
# idleTimeoutSeconds is the number of seconds to wait before scaling down a worker pod which is not using Ray resources.
|
|
# idleTimeoutSeconds: 60
|
|
# imagePullPolicy optionally overrides the autoscaler container's default image pull policy (IfNotPresent).
|
|
# imagePullPolicy: IfNotPresent
|
|
# Optionally specify the autoscaler container's securityContext.
|
|
# securityContext: {}
|
|
# env: []
|
|
# envFrom: []
|
|
# resources specifies optional resource request and limit overrides for the autoscaler container.
|
|
# For large Ray clusters, we recommend monitoring container resource usage to determine if overriding the defaults is required.
|
|
# resources:
|
|
# limits:
|
|
# cpu: "500m"
|
|
# memory: "512Mi"
|
|
# requests:
|
|
# cpu: "500m"
|
|
# memory: "512Mi"
|
|
initContainers: []
|
|
labels: {}
|
|
# Note: From KubeRay v0.6.0, users need to create the ServiceAccount by themselves if they specify the `serviceAccountName`
|
|
# in the headGroupSpec. See https://github.com/ray-project/kuberay/pull/1128 for more details.
|
|
serviceAccountName: ""
|
|
restartPolicy: ""
|
|
rayStartParams:
|
|
object-store-memory: '78643200'
|
|
# containerEnv specifies environment variables for the Ray container,
|
|
# Follows standard K8s container env schema.
|
|
containerEnv:
|
|
- name: RAY_DEDUP_LOGS
|
|
value: "0"
|
|
- name: RAY_TQDM_PATCH_PRINT
|
|
value: "0"
|
|
- name: MYSQL_HOST
|
|
value: "mysql"
|
|
- name: MYSQL_PORT
|
|
value: "3306"
|
|
- name: MYSQL_USER
|
|
value: "root"
|
|
- name: MYSQL_PASSWORD
|
|
value: "Huawei@123"
|
|
- name: MYSQL_DATABASE
|
|
value: "datamate"
|
|
# - name: EXAMPLE_ENV
|
|
# value: "1"
|
|
envFrom: []
|
|
# - secretRef:
|
|
# name: my-env-secret
|
|
# ports optionally allows specifying ports for the Ray container.
|
|
# ports: []
|
|
# resource requests and limits for the Ray head container.
|
|
# Modify as needed for your application.
|
|
# Note that the resources in this example are much too small for production;
|
|
# we don't recommend allocating less than 8G memory for a Ray pod in production.
|
|
# Ray pods should be sized to take up entire K8s nodes when possible.
|
|
# Always set CPU and memory limits for Ray pods.
|
|
# It is usually best to set requests equal to limits.
|
|
# See https://docs.ray.io/en/latest/cluster/kubernetes/user-guides/config.html#resources
|
|
# for further guidance.
|
|
resources:
|
|
limits:
|
|
cpu: "2"
|
|
# To avoid out-of-memory issues, never allocate less than 2G memory for the Ray head.
|
|
memory: "4G"
|
|
requests:
|
|
cpu: "1"
|
|
memory: "2G"
|
|
annotations: {}
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
affinity: {}
|
|
# Pod security context.
|
|
podSecurityContext: {}
|
|
# Ray container security context.
|
|
securityContext: {}
|
|
# Optional: The following volumes/volumeMounts configurations are optional but recommended because
|
|
# Ray writes logs to /tmp/ray/session_latests/logs instead of stdout/stderr.
|
|
volumes:
|
|
- name: log-volume
|
|
hostPath:
|
|
path: /opt/data-mate/data/log
|
|
type: DirectoryOrCreate
|
|
- name: dataset-volume
|
|
hostPath:
|
|
path: /opt/data-mate/data/dataset
|
|
type: DirectoryOrCreate
|
|
- name: flow-volume
|
|
hostPath:
|
|
path: /opt/data-mate/data/flow
|
|
type: DirectoryOrCreate
|
|
volumeMounts:
|
|
- mountPath: /tmp/ray
|
|
name: log-volume
|
|
subPath: ray/head
|
|
- mountPath: /dataset
|
|
name: dataset-volume
|
|
- mountPath: /flow
|
|
name: flow-volume
|
|
# sidecarContainers specifies additional containers to attach to the Ray pod.
|
|
# Follows standard K8s container spec.
|
|
sidecarContainers:
|
|
- name: runtime
|
|
image: runtime
|
|
imagePullPolicy: IfNotPresent
|
|
command:
|
|
- python
|
|
- /opt/runtime/datamate/operator_runtime.py
|
|
- --port
|
|
- "8081"
|
|
env:
|
|
- name: MYSQL_HOST
|
|
value: "mysql"
|
|
- name: MYSQL_PORT
|
|
value: "3306"
|
|
- name: MYSQL_USER
|
|
value: "root"
|
|
- name: MYSQL_PASSWORD
|
|
value: "Huawei@123"
|
|
- name: MYSQL_DATABASE
|
|
value: "datamate"
|
|
ports:
|
|
- containerPort: 8081
|
|
volumeMounts:
|
|
- mountPath: /tmp/ray
|
|
name: log-volume
|
|
subPath: ray/head
|
|
- mountPath: /var/log/data-mate
|
|
name: log-volume
|
|
- mountPath: /dataset
|
|
name: dataset-volume
|
|
- mountPath: /flow
|
|
name: flow-volume
|
|
# See docs/guidance/pod-command.md for more details about how to specify
|
|
# container command for head Pod.
|
|
command: []
|
|
args: []
|
|
# Optional, for the user to provide any additional fields to the service.
|
|
# See https://pkg.go.dev/k8s.io/Kubernetes/pkg/api/v1#Service
|
|
headService: {}
|
|
# metadata:
|
|
# annotations:
|
|
# prometheus.io/scrape: "true"
|
|
|
|
# Custom pod DNS configuration
|
|
# See https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config
|
|
# dnsConfig:
|
|
# nameservers:
|
|
# - 8.8.8.8
|
|
# searches:
|
|
# - example.local
|
|
# options:
|
|
# - name: ndots
|
|
# value: "2"
|
|
# - name: edns0
|
|
topologySpreadConstraints: []
|
|
|
|
|
|
worker:
|
|
# If you want to disable the default workergroup
|
|
# uncomment the line below
|
|
# disabled: true
|
|
groupName: workergroup
|
|
replicas: 1
|
|
minReplicas: 1
|
|
maxReplicas: 3
|
|
labels: {}
|
|
serviceAccountName: ""
|
|
restartPolicy: ""
|
|
rayStartParams: {}
|
|
initContainers: []
|
|
# containerEnv specifies environment variables for the Ray container,
|
|
# Follows standard K8s container env schema.
|
|
containerEnv:
|
|
- name: RAY_DEDUP_LOGS
|
|
value: "0"
|
|
- name: RAY_TQDM_PATCH_PRINT
|
|
value: "0"
|
|
- name: MYSQL_HOST
|
|
value: "mysql"
|
|
- name: MYSQL_PORT
|
|
value: "3306"
|
|
- name: MYSQL_USER
|
|
value: "root"
|
|
- name: MYSQL_PASSWORD
|
|
value: "Huawei@123"
|
|
- name: MYSQL_DATABASE
|
|
value: "datamate"
|
|
# - name: EXAMPLE_ENV
|
|
# value: "1"
|
|
envFrom: []
|
|
# - secretRef:
|
|
# name: my-env-secret
|
|
# ports optionally allows specifying ports for the Ray container.
|
|
# ports: []
|
|
# resource requests and limits for the Ray head container.
|
|
# Modify as needed for your application.
|
|
# Note that the resources in this example are much too small for production;
|
|
# we don't recommend allocating less than 8G memory for a Ray pod in production.
|
|
# Ray pods should be sized to take up entire K8s nodes when possible.
|
|
# Always set CPU and memory limits for Ray pods.
|
|
# It is usually best to set requests equal to limits.
|
|
# See https://docs.ray.io/en/latest/cluster/kubernetes/user-guides/config.html#resources
|
|
# for further guidance.
|
|
resources:
|
|
limits:
|
|
cpu: "4"
|
|
memory: "8G"
|
|
requests:
|
|
cpu: "1"
|
|
memory: "1G"
|
|
annotations: {}
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
affinity: {}
|
|
# Pod security context.
|
|
podSecurityContext: {}
|
|
# Ray container security context.
|
|
securityContext: {}
|
|
# Optional: The following volumes/volumeMounts configurations are optional but recommended because
|
|
# Ray writes logs to /tmp/ray/session_latests/logs instead of stdout/stderr.
|
|
volumes:
|
|
- name: log-volume
|
|
hostPath:
|
|
path: /opt/data-mate/data/log
|
|
type: DirectoryOrCreate
|
|
- name: dataset-volume
|
|
hostPath:
|
|
path: /opt/data-mate/data/dataset
|
|
type: DirectoryOrCreate
|
|
- name: flow-volume
|
|
hostPath:
|
|
path: /opt/data-mate/data/flow
|
|
type: DirectoryOrCreate
|
|
volumeMounts:
|
|
- mountPath: /tmp/ray
|
|
name: log-volume
|
|
subPath: ray/worker
|
|
- mountPath: /dataset
|
|
name: dataset-volume
|
|
- mountPath: /flow
|
|
name: flow-volume
|
|
# sidecarContainers specifies additional containers to attach to the Ray pod.
|
|
# Follows standard K8s container spec.
|
|
sidecarContainers: []
|
|
# See docs/guidance/pod-command.md for more details about how to specify
|
|
# container command for worker Pod.
|
|
command: []
|
|
args: []
|
|
topologySpreadConstraints: []
|
|
|
|
|
|
# Custom pod DNS configuration
|
|
# See https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config
|
|
# dnsConfig:
|
|
# nameservers:
|
|
# - 8.8.8.8
|
|
# searches:
|
|
# - example.local
|
|
# options:
|
|
# - name: ndots
|
|
# value: "2"
|
|
# - name: edns0
|
|
|
|
# The map's key is used as the groupName.
|
|
# For example, key:small-group in the map below
|
|
# will be used as the groupName
|
|
additionalWorkerGroups:
|
|
smallGroup:
|
|
# Disabled by default
|
|
disabled: true
|
|
replicas: 0
|
|
minReplicas: 0
|
|
maxReplicas: 3
|
|
labels: {}
|
|
serviceAccountName: ""
|
|
restartPolicy: ""
|
|
rayStartParams: {}
|
|
# containerEnv specifies environment variables for the Ray container,
|
|
# Follows standard K8s container env schema.
|
|
containerEnv: []
|
|
# - name: EXAMPLE_ENV
|
|
# value: "1"
|
|
envFrom: []
|
|
# - secretRef:
|
|
# name: my-env-secret
|
|
# ports optionally allows specifying ports for the Ray container.
|
|
# ports: []
|
|
# resource requests and limits for the Ray head container.
|
|
# Modify as needed for your application.
|
|
# Note that the resources in this example are much too small for production;
|
|
# we don't recommend allocating less than 8G memory for a Ray pod in production.
|
|
# Ray pods should be sized to take up entire K8s nodes when possible.
|
|
# Always set CPU and memory limits for Ray pods.
|
|
# It is usually best to set requests equal to limits.
|
|
# See https://docs.ray.io/en/latest/cluster/kubernetes/user-guides/config.html#resources
|
|
# for further guidance.
|
|
resources:
|
|
limits:
|
|
cpu: 1
|
|
memory: "1G"
|
|
requests:
|
|
cpu: 1
|
|
memory: "1G"
|
|
annotations: {}
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
affinity: {}
|
|
# Pod security context.
|
|
podSecurityContext: {}
|
|
# Ray container security context.
|
|
securityContext: {}
|
|
# Optional: The following volumes/volumeMounts configurations are optional but recommended because
|
|
# Ray writes logs to /tmp/ray/session_latests/logs instead of stdout/stderr.
|
|
volumes:
|
|
- name: log-volume
|
|
hostPath:
|
|
path: /opt/data-mate/data/log
|
|
type: DirectoryOrCreate
|
|
- name: dataset-volume
|
|
hostPath:
|
|
path: /opt/data-mate/data/dataset
|
|
type: DirectoryOrCreate
|
|
- name: flow-volume
|
|
hostPath:
|
|
path: /opt/data-mate/data/flow
|
|
type: DirectoryOrCreate
|
|
volumeMounts:
|
|
- mountPath: /tmp/ray
|
|
name: log-volume
|
|
subPath: ray
|
|
- mountPath: /dataset
|
|
name: dataset-volume
|
|
- mountPath: /flow
|
|
name: flow-volume
|
|
sidecarContainers: []
|
|
# See docs/guidance/pod-command.md for more details about how to specify
|
|
# container command for worker Pod.
|
|
command: []
|
|
args: []
|
|
|
|
# Topology Spread Constraints for worker pods
|
|
# See: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/
|
|
topologySpreadConstraints: []
|
|
|
|
# Custom pod DNS configuration
|
|
# See https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config
|
|
# dnsConfig:
|
|
# nameservers:
|
|
# - 8.8.8.8
|
|
# searches:
|
|
# - example.local
|
|
# options:
|
|
# - name: ndots
|
|
# value: "2"
|
|
# - name: edns0
|
|
|
|
# Configuration for Head's Kubernetes Service
|
|
service:
|
|
# This is optional, and the default is ClusterIP.
|
|
type: NodePort
|