bitnamicharts/kuberayKubeRay 是一个 Kubernetes Operator,用于通过自定义资源定义(CustomResourceDefinitions)在 Kubernetes 上部署和管理 Ray 应用。Bitnami 提供的此镜像包通过 Helm Chart 简化了 KubeRay 在 Kubernetes 集群中的部署流程,使开发者能够快速搭建和管理 Ray 应用环境。
KubeRay 概述
商标声明:本软件列表由 Bitnami 打包。所提及的相关商标归各自公司所有,使用这些商标并不意味着任何关联或背书。
resourcesPreset 预设或手动配置适配不同 workload 需求。*.metrics.enabled 暴露指标端点,并可自动配置 ServiceMonitor 以支持 Prometheus Operator。extraEnvVars、extraEnvVarsCM 或 extraEnvVarsSecret)、Sidecar 容器及 Init 容器,满足高级部署需求。cluster.head 和 cluster.worker 配置 Ray 集群的 Head 节点和 Worker 节点,支持多 Worker 组规格(cluster.worker.groupSpecs)。podAffinityPreset 等)简化配置。global.compatibility.openshift.adaptSecurityContext 自动调整安全上下文。自 2025 年 8 月 28 日起,Bitnami 将升级其公共目录,推出新的 Bitnami Secure Images 计划,提供精选的硬化、安全聚焦镜像。过渡详情如下:
这些变更旨在通过推广软件供应链完整性最佳实践和最新部署,提升所有 Bitnami 用户的安全态势。详情参见 Bitnami Secure Images 公告。
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/kuberay
使用 Helm 安装 chart,指定发布名称(如 my-release):
consolehelm install my-release REGISTRY_NAME/REPOSITORY_NAME/kuberay
注意:需将
REGISTRY_NAME和REPOSITORY_NAME替换为实际的 Helm 仓库地址。例如,Bitnami 仓库需设置REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。
| 名称 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局 Docker 镜像仓库 | "" |
global.imagePullSecrets | 全局 Docker 仓库密钥名称数组 | [] |
global.defaultStorageClass | 持久化卷(Persistent Volume)的全局默认 StorageClass | "" |
global.storageClass | 已弃用:使用 global.defaultStorageClass 替代 | "" |
global.security.allowInsecureImages | 允许跳过镜像验证 | false |
global.compatibility.openshift.adaptSecurityContext | 调整 deployment 的 securityContext 以兼容 OpenShift restricted-v2 SCC:移除 runAsUser、runAsGroup 和 fsGroup,由平台使用默认 ID。可选值:auto(自动检测 OpenShift 集群时应用)、force(强制应用)、disabled(禁用) | auto |
| 名称 | 描述 | 默认值 |
|---|---|---|
kubeVersion | 覆盖 Kubernetes 版本 | "" |
apiVersions | 覆盖 .Capabilities 报告的 Kubernetes API 版本 | [] |
nameOverride | 部分覆盖 common.names.name 的字符串 | "" |
fullnameOverride | 完全覆盖 common.names.fullname 的字符串 | "" |
namespaceOverride | 完全覆盖 common.names.namespace 的字符串 | "" |
commonLabels | 添加到所有部署对象的标签 | {} |
commonAnnotations | 添加到所有部署对象的注解 | {} |
clusterDomain | Kubernetes 集群域名 | cluster.local |
extraDeploy | 随发布一起部署的额外对象数组 | [] |
diagnosticMode.enabled | 启用诊断模式(禁用所有探针并覆盖命令) | false |
diagnosticMode.command | 覆盖部署中所有容器的命令 | ["sleep"] |
diagnosticMode.args | 覆盖部署中所有容器的参数 | ["infinity"] |
rayImage.registry | Ray 镜像仓库 | REGISTRY_NAME |
rayImage.repository | Ray 镜像仓库路径 | REPOSITORY_NAME/ray |
rayImage.digest | Ray 镜像摘要(格式:sha256:aa....,设置后将覆盖标签,建议使用不可变标签) | "" |
rayImage.pullPolicy | Ray 镜像拉取策略 | IfNotPresent |
rayImage.pullSecrets | Ray 镜像拉取密钥 | [] |
rayImage.debug | 启用 Ray 镜像调试模式 | false |
| 名称 | 描述 | 默认值 |
|---|---|---|
operator.enabled | 启用 Kuberay Operator | true |
operator.image.registry | Kuberay Operator 镜像仓库 | REGISTRY_NAME |
operator.image.repository | Kuberay Operator 镜像仓库路径 | REPOSITORY_NAME/kuberay-operator |
operator.image.digest | Kuberay Operator 镜像摘要(格式:sha256:aa....,设置后将覆盖标签,建议使用不可变标签) | "" |
operator.image.pullPolicy | Kuberay Operator 镜像拉取策略 | IfNotPresent |
operator.image.pullSecrets | Kuberay Operator 镜像拉取密钥 | [] |
operator.image.debug | 启用 Kuberay Operator 镜像调试模式 | false |
operator.replicaCount | 部署的 Kuberay Operator 副本数 | 1 |
operator.containerPorts.metrics | Kuberay Operator 指标容器端口 | 8080 |
operator.containerPorts.health | Kuberay Operator 健康检查容器端口 | 8082 |
operator.livenessProbe.enabled | 启用 Kuberay Operator 容器的存活探针 | true |
operator.livenessProbe.initialDelaySeconds | 存活探针初始延迟秒数 | 5 |
operator.livenessProbe.periodSeconds | 存活探针周期秒数 | 10 |
operator.livenessProbe.timeoutSeconds | 存活探针超时秒数 | 5 |
operator.livenessProbe.failureThreshold | 存活探针失败阈值 | 5 |
operator.livenessProbe.successThreshold | 存活探针成功阈值 | 1 |
operator.readinessProbe.enabled | 启用 Kuberay Operator 容器的就绪探针 | true |
operator.readinessProbe.initialDelaySeconds | 就绪探针初始延迟秒数 | 5 |
operator.readinessProbe.periodSeconds | 就绪探针周期秒数 | 10 |
operator.readinessProbe.timeoutSeconds | 就绪探针超时秒数 | 5 |
operator.readinessProbe.failureThreshold | 就绪探针失败阈值 | 5 |
operator.readinessProbe.successThreshold | 就绪探针成功阈值 | 1 |
operator.metrics.enabled=true 和 apiserver.metrics.enabled=true 以暴露 Prometheus 指标端点。operator.metrics.serviceMonitor.enabled=true 和 apiserver.metrics.serviceMonitor.enabled=true 以自动创建 ServiceMonitor 对象。通过 resources 参数配置容器资源:
yamloperator: resources: requests: cpu: 100m memory: 128Mi limits: cpu: 500m memory: 256Mi
或使用预设资源配置(详见 bitnami/common):
yamloperator: resourcesPreset: medium
通过 extraEnvVars 添加环境变量:
yamloperator: extraEnvVars: - name: LOG_LEVEL value: error
或通过 ConfigMap/Secret 注入:
yamloperator: extraEnvVarsCM: my-configmap # 包含环境变量的 ConfigMap 名称 extraEnvVarsSecret: my-secret # 包含环境变量的 Secret 名称
添加 Sidecar 容器:
yamloperator: sidecars: - name: metrics-exporter image: my-exporter:latest imagePullPolicy: Always ports: - name: exporter-port containerPort: 9100
添加 Init 容器:
yamloperator: initContainers: - name: init-config image: busybox:latest command: ["sh", "-c", "echo 'init' > /config/init.txt"] volumeMounts: - name: config-volume mountPath: /config
通过 cluster 配置 Ray 集群:
yamlcluster: head: replicas: 1 resources: requests: cpu: 1 memory: 2Gi worker: common: resources: requests: cpu: 500m memory: 1Gi groupSpecs: - replicas: 2 resources: limits: cpu: 1 memory: 2Gi
使用 Velero 工具备份和恢复 Helm 部署的持久化卷。具体步骤参见 Velero 使用指南。
注:本 chart 的完整 README 因长度限制已截断,完整文档参见 GitHub。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务