--- apiVersion: v1 kind: ServiceAccount metadata: name: ray-operator-serviceaccount namespace: default --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: name: ray-operator-clusterrole rules: - apiGroups: ["", "cluster.ray.io"] resources: ["rayclusters", "rayclusters/finalizers", "rayclusters/status", "pods", "pods/exec", "services"] verbs: ["get", "watch", "list", "create", "delete", "patch", "update"] - apiGroups: [""] resources: [events] verbs: [create] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: ray-operator-clusterrolebinding subjects: - kind: ServiceAccount name: ray-operator-serviceaccount namespace: default roleRef: kind: ClusterRole name: ray-operator-clusterrole apiGroup: rbac.authorization.k8s.io --- apiVersion: apps/v1 kind: Deployment metadata: name: ray-operator namespace: default spec: replicas: 1 selector: matchLabels: cluster.ray.io/component: operator template: metadata: labels: cluster.ray.io/component: operator spec: serviceAccountName: ray-operator-serviceaccount containers: - name: ray imagePullPolicy: Always image: rayproject/ray:nightly command: ["ray-operator"] env: - name: AUTOSCALER_MAX_NUM_FAILURES value: "inf" resources: requests: cpu: 1 memory: 1Gi limits: memory: 2Gi cpu: 1