Skip to content

Commit e54bfbe

Browse files
committed
feat: Add lifecycled networkpolicies options for raycluster hardening
Signed-off-by: Pat O'Connor <[email protected]>
1 parent 240e3f4 commit e54bfbe

File tree

12 files changed

+1488
-4
lines changed

12 files changed

+1488
-4
lines changed

helm-chart/kuberay-operator/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,8 @@ spec:
165165
| featureGates[0].enabled | bool | `true` | |
166166
| featureGates[1].name | string | `"RayJobDeletionPolicy"` | |
167167
| featureGates[1].enabled | bool | `false` | |
168+
| featureGates[2].name | string | `"RayClusterNetworkPolicy"` | |
169+
| featureGates[2].enabled | bool | `false` | |
168170
| metrics.enabled | bool | `true` | Whether KubeRay operator should emit control plane metrics. |
169171
| metrics.serviceMonitor.enabled | bool | `false` | Enable a prometheus ServiceMonitor |
170172
| metrics.serviceMonitor.interval | string | `"30s"` | Prometheus ServiceMonitor interval |

helm-chart/kuberay-operator/templates/_helpers.tpl

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,6 @@ rules:
205205
- update
206206
- apiGroups:
207207
- extensions
208-
- networking.k8s.io
209208
resources:
210209
- ingresses
211210
verbs:
@@ -224,6 +223,19 @@ rules:
224223
- get
225224
- list
226225
- watch
226+
- apiGroups:
227+
- networking.k8s.io
228+
resources:
229+
- ingresses
230+
- networkpolicies
231+
verbs:
232+
- create
233+
- delete
234+
- get
235+
- list
236+
- patch
237+
- update
238+
- watch
227239
- apiGroups:
228240
- ray.io
229241
resources:

helm-chart/kuberay-operator/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ featureGates:
8888
enabled: true
8989
- name: RayJobDeletionPolicy
9090
enabled: false
91+
- name: RayClusterNetworkPolicy
92+
enabled: false
9193

9294
# Configurations for KubeRay operator metrics.
9395
metrics:

ray-operator/config/manager/manager.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ spec:
2929
- command:
3030
- /manager
3131
args:
32-
- --feature-gates=RayClusterStatusConditions=true # this argument can be removed for version >= v1.3 where the feature gate is enabled by default.
32+
- --feature-gates=RayClusterStatusConditions=true,RayClusterNetworkPolicy=true # this argument can be removed for version >= v1.3 where the feature gate is enabled by default.
3333
# - --enable-leader-election
3434
image: kuberay/operator
3535
imagePullPolicy: IfNotPresent
@@ -65,7 +65,7 @@ spec:
6565
requests:
6666
cpu: 100m
6767
memory: 512Mi
68-
# env:
68+
env:
6969
# If not set or set to true, kuberay auto injects an init container waiting for ray GCS.
7070
# If false, you will need to inject your own init container to ensure ray GCS is up before the ray workers start.
7171
# Warning: we highly recommend setting to true and let kuberay handle for you.
@@ -80,4 +80,9 @@ spec:
8080
# environment variable is not set, requeue after the default value (300).
8181
# - name: RAYCLUSTER_DEFAULT_REQUEUE_SECONDS_ENV
8282
# value: "300"
83+
# Required for NetworkPolicy feature when operator is NOT deployed in 'ray-system' namespace
84+
- name: POD_NAMESPACE
85+
valueFrom:
86+
fieldRef:
87+
fieldPath: metadata.namespace
8388
terminationGracePeriodSeconds: 10

ray-operator/config/rbac/role.yaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ rules:
9090
- update
9191
- apiGroups:
9292
- extensions
93-
- networking.k8s.io
9493
resources:
9594
- ingresses
9695
verbs:
@@ -109,6 +108,19 @@ rules:
109108
- get
110109
- list
111110
- watch
111+
- apiGroups:
112+
- networking.k8s.io
113+
resources:
114+
- ingresses
115+
- networkpolicies
116+
verbs:
117+
- create
118+
- delete
119+
- get
120+
- list
121+
- patch
122+
- update
123+
- watch
112124
- apiGroups:
113125
- ray.io
114126
resources:

0 commit comments

Comments
 (0)