Skip to content

Instantly share code, notes, and snippets.

@simon-mo
Created November 10, 2020 03:15
Show Gist options
  • Select an option

  • Save simon-mo/7b0dd033b2f12c72c75ce0cfd0c664d7 to your computer and use it in GitHub Desktop.

Select an option

Save simon-mo/7b0dd033b2f12c72c75ce0cfd0c664d7 to your computer and use it in GitHub Desktop.
cluster_name: default
min_workers: 0
max_workers: 5
initial_workers: 0
autoscaling_mode: default
target_utilization_fraction: 1.0
idle_timeout_minutes: 99999
provider:
type: kubernetes
use_internal_ips: true
namespace: ray
autoscaler_service_account:
apiVersion: v1
kind: ServiceAccount
metadata:
name: autoscaler
autoscaler_role:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: autoscaler
rules:
- apiGroups:
- ''
resources:
- pods
- pods/status
- pods/exec
verbs:
- get
- watch
- list
- create
- delete
- patch
autoscaler_role_binding:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: autoscaler
subjects:
- kind: ServiceAccount
name: autoscaler
roleRef:
kind: Role
name: autoscaler
apiGroup: rbac.authorization.k8s.io
services:
- apiVersion: v1
kind: Service
metadata:
name: ray-head
spec:
selector:
component: ray-head
ports:
- protocol: TCP
port: 8000
targetPort: 8000
- apiVersion: v1
kind: Service
metadata:
name: ray-workers
spec:
selector:
component: ray-worker
ports:
- protocol: TCP
port: 8000
targetPort: 8000
available_node_types:
k8s_head_node:
resources: {"CPU": 1}
max_workers: 100
node_config:
apiVersion: v1
kind: Pod
metadata:
generateName: ray-head-
labels:
component: ray-head
spec:
serviceAccountName: autoscaler
restartPolicy: Never
volumes:
- name: dshm
emptyDir:
medium: Memory
containers:
- name: ray-node
image: 'rayproject/ray-ml:1.0.1'
command:
- /bin/bash
- '-c'
- '--'
args:
- 'trap : TERM INT; sleep infinity & wait;'
ports:
- containerPort: 6379
- containerPort: 6380
- containerPort: 6381
- containerPort: 12345
- containerPort: 12346
volumeMounts:
- mountPath: /dev/shm
name: dshm
resources:
requests:
cpu: 1000m
memory: 512Mi
limits:
memory: 2Gi
env:
- name: MY_CPU_REQUEST
valueFrom:
resourceFieldRef:
resource: requests.cpu
k8s_worker_nodes:
resources: {"CPU": 1}
max_workers: 100
node_config:
apiVersion: v1
kind: Pod
metadata:
generateName: ray-worker-
labels:
component: ray-worker
spec:
serviceAccountName: default
restartPolicy: Never
volumes:
- name: dshm
emptyDir:
medium: Memory
containers:
- name: ray-node
image: 'rayproject/ray-ml:1.0.1'
command:
- /bin/bash
- '-c'
- '--'
args:
- 'trap : TERM INT; sleep infinity & wait;'
ports:
- containerPort: 12345
- containerPort: 12346
volumeMounts:
- mountPath: /dev/shm
name: dshm
resources:
requests:
cpu: 1000m
memory: 512Mi
limits:
memory: 2Gi
env:
- name: MY_CPU_REQUEST
valueFrom:
resourceFieldRef:
resource: requests.cpu
head_node_type: k8s_head_node
worker_default_node_type: k8s_worker_nodes
file_mounts: {}
cluster_synced_files: []
file_mounts_sync_continuously: false
initialization_commands: []
setup_commands: []
head_setup_commands: []
worker_setup_commands:
- echo "done sleeping"
head_start_ray_commands:
- ray stop
- >-
ulimit -n 65536; ray start --head --num-cpus=$MY_CPU_REQUEST --port=6379
--object-manager-port=8076 --autoscaling-config=~/ray_bootstrap_config.yaml
--dashboard-host 0.0.0.0
worker_start_ray_commands:
- ray stop
- >-
ulimit -n 65536; ray start --num-cpus=$MY_CPU_REQUEST
--address=$RAY_HEAD_IP:6379 --object-manager-port=8076
import ray
import os
ray.init(address="auto")
@ray.remote(num_cpus=1)
def spin():
import time
while True:
print("running... with host name ", os.environ["HOSTNAME"])
time.sleep(5)
ray.get(spin.remote())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment