apiVersion: v1 kind: Service metadata: name: ray-head spec: ports: - name: redis-primary port: 6379 targetPort: 6379 - name: redis-shard-0 port: 6380 targetPort: 6380 - name: redis-shard-1 port: 6381 targetPort: 6381 - name: object-manager port: 12345 targetPort: 12345 - name: node-manager port: 12346 targetPort: 12346 selector: component: ray-head --- apiVersion: apps/v1 kind: Deployment metadata: name: ray-head spec: replicas: 1 selector: matchLabels: component: ray-head type: ray template: metadata: labels: component: ray-head type: ray spec: affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchLabels: type: ray topologyKey: kubernetes.io/hostname containers: - name: ray-head image: rayproject/examples command: [ "/bin/bash", "-c", "--" ] args: ["ray start --head --redis-port=6379 --redis-shard-ports=6380,6381 --object-manager-port=12345 --node-manager-port=12346 --node-ip-address=$MY_POD_IP --block"] ports: - containerPort: 6379 - containerPort: 6380 - containerPort: 6381 - containerPort: 12345 - containerPort: 12346 env: - name: MY_POD_IP valueFrom: fieldRef: fieldPath: status.podIP resources: requests: cpu: 2