Giter VIP home page Giter VIP logo

kuberay-helm's Introduction

KubeRay Helm Charts

This repository hosts Helm charts for the KubeRay project since KubeRay v0.4.0.

Usage

Helm must be installed to use the charts. Please refer to Helm's documentation to get started.

Once Helm is set up properly, add the repo as follows:

helm repo add kuberay https://ray-project.github.io/kuberay-helm/
helm install kuberay kuberay/kuberay-operator

You can then run helm search repo kuberay to see the charts.

kuberay-helm's People

Contributors

architkulkarni avatar dmitrigekhtman avatar kevin85421 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

kuberay-helm's Issues

Using single namespace install missing batch.jobs RBAC permission

When installing ray operator with the following settings

singleNamespaceInstall: true
rbacEnable: true
crNamespacedRbacEnable: true
watchNamespace:
- xxx

we get the error

E1122 16:36:19.205328       1 reflector.go:138] go/pkg/mod/k8s.io/[email protected]/tools/cache/reflector.go:167: Failed to watch *v1.Job: failed to list *v1.Job: jobs.batch is forbidden: User "system:serviceaccount:default:kuberay-operator" cannot list resource "jobs" in API group "batch" in the namespace "xxx"

I believe this is due to missing rules from
https://github.com/ray-project/kuberay-helm/blob/main/helm-chart/kuberay-operator/templates/multiple_namespaces_role.yaml

The batch.jobs RBAC permission is present in the cluster role equivalent here

- apiGroups:
- batch
resources:
- jobs
verbs:
- create
- delete
- get
- list
- patch
- update
- watch

kuberay-apiserver should match kuberay-operator in watchNamespaces feature

# The KubeRay operator will watch the custom resources in the namespaces listed in the "watchNamespace" parameter.
# watchNamespace:
# - n1
# - n2

This is a very useful feature installing the operator, but kuberay-apiserver does not match this behavior when using singleNamespaceInstall.

If we install apiserver, operator in namespace X and operator with watchNamespac [X, Y], trying to manage CRD in Y, the setup leads to

2023/11/22 16:56:17 could not list clusters rpc error: code = Unknown desc = List clusters failed.: List RayCluster failed in tsray: rayclusters.ray.io is forbidden: User "system:serviceaccount:default:kuberay-apiserver" cannot list resource "rayclusters" in API group "ray.io" in the namespace "Y"

Should we consider also installing the RBAC for CRD in kuberay-apiserver to a list of watchNamespace like kuberay-operator?

I'm happy to provide that PR if maintainers believe this is a reasonable request

Allow additional labels on the RayCluster resource

I'm playing around with the combination of Kuberay and Kueue for quota management. In order to have Kueue manage the resource quotas for RayClusters, I need to put an additional label on the CR (not the head/worker pods; see the linked docs).

The current Helm chart unfortunately does not expose a way to do this easily, so I have to resort to helm template and manually add the label in the rendered manifest (I can't do kubectl label, either, since the admission controller apparently does not allow modifying the labels on an existing RayCluster CR).

Would it be possible to add a way in the Helm chart to pass extra labels to be applied to the RayCluster CR via values.yaml? I can provide a PR, if you are interested.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.