diff --git a/docs/guidance/volcano-integration.md b/docs/guidance/volcano-integration.md index 2e2f6558f8..d5739560a5 100644 --- a/docs/guidance/volcano-integration.md +++ b/docs/guidance/volcano-integration.md @@ -44,7 +44,6 @@ metadata: spec: rayVersion: '2.2.0' headGroupSpec: - serviceType: ClusterIP rayStartParams: block: 'true' replicas: 1 @@ -108,7 +107,6 @@ metadata: spec: rayVersion: '2.2.0' headGroupSpec: - serviceType: ClusterIP rayStartParams: block: 'true' replicas: 1 @@ -222,7 +220,6 @@ metadata: spec: rayVersion: '2.2.0' headGroupSpec: - serviceType: ClusterIP rayStartParams: block: 'true' replicas: 1 diff --git a/helm-chart/kuberay-operator/crds/ray.io_rayclusters.yaml b/helm-chart/kuberay-operator/crds/ray.io_rayclusters.yaml index 3898a48460..e7b0e7ece6 100644 --- a/helm-chart/kuberay-operator/crds/ray.io_rayclusters.yaml +++ b/helm-chart/kuberay-operator/crds/ray.io_rayclusters.yaml @@ -5706,7 +5706,6 @@ spec: type: object required: - rayStartParams - - serviceType - template type: object headServiceAnnotations: diff --git a/helm-chart/kuberay-operator/crds/ray.io_rayjobs.yaml b/helm-chart/kuberay-operator/crds/ray.io_rayjobs.yaml index 6513284a97..27306a9b7c 100644 --- a/helm-chart/kuberay-operator/crds/ray.io_rayjobs.yaml +++ b/helm-chart/kuberay-operator/crds/ray.io_rayjobs.yaml @@ -5970,7 +5970,6 @@ spec: type: object required: - rayStartParams - - serviceType - template type: object headServiceAnnotations: diff --git a/helm-chart/kuberay-operator/crds/ray.io_rayservices.yaml b/helm-chart/kuberay-operator/crds/ray.io_rayservices.yaml index 1f0fb579a2..5feae3f23d 100644 --- a/helm-chart/kuberay-operator/crds/ray.io_rayservices.yaml +++ b/helm-chart/kuberay-operator/crds/ray.io_rayservices.yaml @@ -5956,7 +5956,6 @@ spec: type: object required: - rayStartParams - - serviceType - template type: object headServiceAnnotations: diff --git a/helm-chart/ray-cluster/values.yaml b/helm-chart/ray-cluster/values.yaml index f445862708..f38d603720 100644 --- a/helm-chart/ray-cluster/values.yaml +++ b/helm-chart/ray-cluster/values.yaml @@ -199,5 +199,6 @@ additionalWorkerGroups: name: log-volume sidecarContainers: [] -service: - type: ClusterIP +# Configuration for Head's Kubernetes Service +service: {} +# type: ClusterIP # The default type is ClusterIP. diff --git a/ray-operator/apis/ray/v1alpha1/raycluster_types.go b/ray-operator/apis/ray/v1alpha1/raycluster_types.go index a3ea2a4919..59f4ba12ad 100644 --- a/ray-operator/apis/ray/v1alpha1/raycluster_types.go +++ b/ray-operator/apis/ray/v1alpha1/raycluster_types.go @@ -28,7 +28,7 @@ type RayClusterSpec struct { // HeadGroupSpec are the spec for the head pod type HeadGroupSpec struct { // ServiceType is Kubernetes service type of the head service. it will be used by the workers to connect to the head pod - ServiceType v1.ServiceType `json:"serviceType"` + ServiceType v1.ServiceType `json:"serviceType,omitempty"` // EnableIngress indicates whether operator should create ingress object for head service or not. EnableIngress *bool `json:"enableIngress,omitempty"` // HeadGroupSpec.Replicas is deprecated and ignored; there can only be one head pod per Ray cluster. diff --git a/ray-operator/config/crd/bases/ray.io_rayclusters.yaml b/ray-operator/config/crd/bases/ray.io_rayclusters.yaml index 3898a48460..e7b0e7ece6 100644 --- a/ray-operator/config/crd/bases/ray.io_rayclusters.yaml +++ b/ray-operator/config/crd/bases/ray.io_rayclusters.yaml @@ -5706,7 +5706,6 @@ spec: type: object required: - rayStartParams - - serviceType - template type: object headServiceAnnotations: diff --git a/ray-operator/config/crd/bases/ray.io_rayjobs.yaml b/ray-operator/config/crd/bases/ray.io_rayjobs.yaml index 6513284a97..27306a9b7c 100644 --- a/ray-operator/config/crd/bases/ray.io_rayjobs.yaml +++ b/ray-operator/config/crd/bases/ray.io_rayjobs.yaml @@ -5970,7 +5970,6 @@ spec: type: object required: - rayStartParams - - serviceType - template type: object headServiceAnnotations: diff --git a/ray-operator/config/crd/bases/ray.io_rayservices.yaml b/ray-operator/config/crd/bases/ray.io_rayservices.yaml index 1f0fb579a2..5feae3f23d 100644 --- a/ray-operator/config/crd/bases/ray.io_rayservices.yaml +++ b/ray-operator/config/crd/bases/ray.io_rayservices.yaml @@ -5956,7 +5956,6 @@ spec: type: object required: - rayStartParams - - serviceType - template type: object headServiceAnnotations: diff --git a/ray-operator/config/samples/ray-cluster.autoscaler.large.yaml b/ray-operator/config/samples/ray-cluster.autoscaler.large.yaml index 53dfe9c35b..ed0de769a7 100644 --- a/ray-operator/config/samples/ray-cluster.autoscaler.large.yaml +++ b/ray-operator/config/samples/ray-cluster.autoscaler.large.yaml @@ -57,8 +57,6 @@ spec: memory: "512Mi" # Ray head pod template headGroupSpec: - # Kubernetes Service Type, valid values are 'ClusterIP', 'NodePort' and 'LoadBalancer' - serviceType: ClusterIP # the following params are used to complete the ray start: ray start --head --block --port=6379 ... rayStartParams: # Flag "no-monitor" will be automatically set when autoscaling is enabled. diff --git a/ray-operator/config/samples/ray-cluster.autoscaler.yaml b/ray-operator/config/samples/ray-cluster.autoscaler.yaml index 4e8c884a38..58abac14d4 100644 --- a/ray-operator/config/samples/ray-cluster.autoscaler.yaml +++ b/ray-operator/config/samples/ray-cluster.autoscaler.yaml @@ -49,8 +49,6 @@ spec: memory: "512Mi" # Ray head pod template headGroupSpec: - # Kubernetes Service Type, valid values are 'ClusterIP', 'NodePort' and 'LoadBalancer' - serviceType: ClusterIP # the following params are used to complete the ray start: ray start --head --block ... rayStartParams: dashboard-host: '0.0.0.0' diff --git a/ray-operator/config/samples/ray-cluster.complete.large.yaml b/ray-operator/config/samples/ray-cluster.complete.large.yaml index 87708ada85..fe6a6d3ff0 100644 --- a/ray-operator/config/samples/ray-cluster.complete.large.yaml +++ b/ray-operator/config/samples/ray-cluster.complete.large.yaml @@ -16,7 +16,8 @@ spec: rayVersion: '2.2.0' # Ray head pod template headGroupSpec: - # Kubernetes Service Type, valid values are 'ClusterIP', 'NodePort' and 'LoadBalancer' + # Kubernetes Service Type. This is an optional field, and the default value is ClusterIP. + # Refer to https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types. serviceType: ClusterIP # for the head group, replicas should always be 1. # headGroupSpec.replicas is deprecated in KubeRay >= 0.3.0. @@ -25,7 +26,7 @@ spec: rayStartParams: dashboard-host: '0.0.0.0' block: 'true' - #pod template + # pod template template: metadata: # Custom labels. NOTE: To avoid conflicts with KubeRay operator, do not define custom labels start with `raycluster`. diff --git a/ray-operator/config/samples/ray-cluster.complete.yaml b/ray-operator/config/samples/ray-cluster.complete.yaml index daec7190be..1ff1beb8d2 100644 --- a/ray-operator/config/samples/ray-cluster.complete.yaml +++ b/ray-operator/config/samples/ray-cluster.complete.yaml @@ -13,13 +13,14 @@ spec: rayVersion: '2.2.0' # Ray head pod configuration headGroupSpec: - # Kubernetes Service Type, valid values are 'ClusterIP', 'NodePort' and 'LoadBalancer' + # Kubernetes Service Type. This is an optional field, and the default value is ClusterIP. + # Refer to https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types. serviceType: ClusterIP # the following params are used to complete the ray start: ray start --head --block --dashboard-host: '0.0.0.0' ... rayStartParams: dashboard-host: '0.0.0.0' block: 'true' - #pod template + # pod template template: metadata: # Custom labels. NOTE: To avoid conflicts with KubeRay operator, do not define custom labels start with `raycluster`. diff --git a/ray-operator/config/samples/ray-cluster.external-redis.yaml b/ray-operator/config/samples/ray-cluster.external-redis.yaml index 9f29635d66..b065c27065 100644 --- a/ray-operator/config/samples/ray-cluster.external-redis.yaml +++ b/ray-operator/config/samples/ray-cluster.external-redis.yaml @@ -79,7 +79,6 @@ metadata: spec: rayVersion: '2.2.0' headGroupSpec: - serviceType: ClusterIP replicas: 1 rayStartParams: dashboard-host: '0.0.0.0' diff --git a/ray-operator/config/samples/ray-cluster.getting-started.yaml b/ray-operator/config/samples/ray-cluster.getting-started.yaml index 0c7418ffd2..569694af67 100644 --- a/ray-operator/config/samples/ray-cluster.getting-started.yaml +++ b/ray-operator/config/samples/ray-cluster.getting-started.yaml @@ -13,8 +13,6 @@ spec: rayVersion: '2.2.0' # should match the Ray version in the image of the containers # Ray head pod template headGroupSpec: - # Kubernetes Service Type, valid values are 'ClusterIP', 'NodePort' and 'LoadBalancer' - serviceType: ClusterIP # the following params are used to complete the ray start: ray start --head --block ... rayStartParams: dashboard-host: '0.0.0.0' diff --git a/ray-operator/config/samples/ray-cluster.heterogeneous.yaml b/ray-operator/config/samples/ray-cluster.heterogeneous.yaml index 713c71f085..e87f7b2019 100644 --- a/ray-operator/config/samples/ray-cluster.heterogeneous.yaml +++ b/ray-operator/config/samples/ray-cluster.heterogeneous.yaml @@ -38,8 +38,6 @@ spec: ######################headGroupSpecs################################# # Ray head pod template headGroupSpec: - # Kubernetes Service Type, valid values are 'ClusterIP', 'NodePort' and 'LoadBalancer' - serviceType: ClusterIP # the following params are used to complete the ray start: ray start --head --block ... rayStartParams: dashboard-host: '0.0.0.0' diff --git a/ray-operator/config/samples/ray-cluster.mini.yaml b/ray-operator/config/samples/ray-cluster.mini.yaml index 2487c28d46..4c1825b886 100644 --- a/ray-operator/config/samples/ray-cluster.mini.yaml +++ b/ray-operator/config/samples/ray-cluster.mini.yaml @@ -13,8 +13,6 @@ spec: rayVersion: '2.2.0' # should match the Ray version in the image of the containers # Ray head pod template headGroupSpec: - # Kubernetes Service Type, valid values are 'ClusterIP', 'NodePort' and 'LoadBalancer' - serviceType: ClusterIP # the following params are used to complete the ray start: ray start --head --block --redis-port=6379 ... rayStartParams: dashboard-host: '0.0.0.0' diff --git a/ray-operator/config/samples/ray_v1alpha1_rayjob.yaml b/ray-operator/config/samples/ray_v1alpha1_rayjob.yaml index fbc9a5aa10..2eba010f5f 100644 --- a/ray-operator/config/samples/ray_v1alpha1_rayjob.yaml +++ b/ray-operator/config/samples/ray_v1alpha1_rayjob.yaml @@ -18,8 +18,6 @@ spec: rayVersion: '2.2.0' # should match the Ray version in the image of the containers # Ray head pod template headGroupSpec: - # Kubernetes Service Type, valid values are 'ClusterIP', 'NodePort' and 'LoadBalancer' - serviceType: ClusterIP # the following params are used to complete the ray start: ray start --head --block --redis-port=6379 ... rayStartParams: dashboard-host: '0.0.0.0' diff --git a/ray-operator/config/samples/ray_v1alpha1_rayservice.yaml b/ray-operator/config/samples/ray_v1alpha1_rayservice.yaml index 40276933c9..df20879e0d 100644 --- a/ray-operator/config/samples/ray_v1alpha1_rayservice.yaml +++ b/ray-operator/config/samples/ray_v1alpha1_rayservice.yaml @@ -46,8 +46,6 @@ spec: ######################headGroupSpecs################################# # Ray head pod template. headGroupSpec: - # Kubernetes Service Type, valid values are 'ClusterIP', 'NodePort' and 'LoadBalancer' - serviceType: ClusterIP # the following params are used to complete the ray start: ray start --head --block --redis-port=6379 ... rayStartParams: port: '6379' # should match container port named gcs-server diff --git a/ray-operator/config/security/ray-cluster.pod-security.yaml b/ray-operator/config/security/ray-cluster.pod-security.yaml index 994891067a..93adf0a08b 100644 --- a/ray-operator/config/security/ray-cluster.pod-security.yaml +++ b/ray-operator/config/security/ray-cluster.pod-security.yaml @@ -13,8 +13,6 @@ spec: rayVersion: '2.2.0' # Ray head pod configuration headGroupSpec: - # Kubernetes Service Type, valid values are 'ClusterIP', 'NodePort' and 'LoadBalancer' - serviceType: ClusterIP # for the head group, replicas should always be 1. # headGroupSpec.replicas is deprecated in KubeRay >= 0.3.0. replicas: 1 diff --git a/tests/config/ray-cluster.mini.yaml.template b/tests/config/ray-cluster.mini.yaml.template index 2b20f6e68d..6f45612d53 100644 --- a/tests/config/ray-cluster.mini.yaml.template +++ b/tests/config/ray-cluster.mini.yaml.template @@ -10,8 +10,6 @@ spec: ######################headGroupSpecs################################# # head group template and specs, (perhaps 'group' is not needed in the name) headGroupSpec: - # Kubernetes Service Type, valid values are 'ClusterIP', 'NodePort' and 'LoadBalancer' - serviceType: ClusterIP # the following params are used to complete the ray start: ray start --head --block ... rayStartParams: dashboard-host: '0.0.0.0' diff --git a/tests/config/ray-cluster.ray-ft.yaml.template b/tests/config/ray-cluster.ray-ft.yaml.template index c5f3129707..a7e35fa6d6 100644 --- a/tests/config/ray-cluster.ray-ft.yaml.template +++ b/tests/config/ray-cluster.ray-ft.yaml.template @@ -73,8 +73,6 @@ metadata: spec: rayVersion: '$ray_version' headGroupSpec: - serviceType: ClusterIP - replicas: 1 rayStartParams: dashboard-host: '0.0.0.0' num-cpus: '1' diff --git a/tests/config/ray-service.yaml.template b/tests/config/ray-service.yaml.template index e07b52cf61..6896bc0a2e 100644 --- a/tests/config/ray-service.yaml.template +++ b/tests/config/ray-service.yaml.template @@ -42,8 +42,6 @@ spec: ######################headGroupSpecs################################# # head group template and specs, (perhaps 'group' is not needed in the name) headGroupSpec: - # Kubernetes Service Type, valid values are 'ClusterIP', 'NodePort' and 'LoadBalancer' - serviceType: ClusterIP # the following params are used to complete the ray start: ray start --head --block ... rayStartParams: port: '6379' # should match container port named gcs-server