From d0673b6c26d32697c3ee6e5e211a3a348f89d290 Mon Sep 17 00:00:00 2001 From: Ye Cao Date: Wed, 15 Mar 2023 22:37:45 +0800 Subject: [PATCH] Add description for the function _add_podAffinity_for_vineyard_deployment. Signed-off-by: Ye Cao --- coordinator/gscoordinator/kubernetes_launcher.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/coordinator/gscoordinator/kubernetes_launcher.py b/coordinator/gscoordinator/kubernetes_launcher.py index 58a44588faae..bbe93717796a 100644 --- a/coordinator/gscoordinator/kubernetes_launcher.py +++ b/coordinator/gscoordinator/kubernetes_launcher.py @@ -593,6 +593,21 @@ def _waiting_for_services_ready(self): ) logger.info("Mars service endpoint: %s", self._mars_service_endpoint) + # the function will add the podAffinity to the engine workload so that the workload + # will be scheduled to the same node with vineyard deployment. + # e.g. the vineyard deployment is named "vineyard-deployment" and the namespace is "graphscope-system", + # the podAffinity will be added to the engine workload as below: + # spec: + # affinity: + # podAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: app.kubernetes.io/instance + # operator: In + # values: + # - graphscope-system-vineyard-deployment # [vineyard deployment namespace]-[vineyard deployment name] + # topologyKey: kubernetes.io/hostname def _add_podAffinity_for_vineyard_deployment(self, workload): try: import vineyard