- 
          
 - 
                Notifications
    
You must be signed in to change notification settings  - Fork 156
 
Description
Hi gang. So I just managed to install Dask-Operator on a K8S cluster with the necessary Dask CRDs. To try some stuffs out I decided to use Jupyter and prop-up my own Jupyter Lab server running in a namespace, set up the service account for it, ensure that it works and finally installed Dask and dask-kubernetes.
I tried creating a toy dask cluster and it works.
So I decided to replicate the whole yaml set up with the replacing of the namespace, to access some name-space bounded resources.  However in the new namespace, the cluster scheduler-pod spawned, but when it comes to scaling the workers the Jupyter output show some really strange error (below).
I've exhausted my Google search and nothing came up. Hope you can point me to a right direction.
NotFoundError                             Traceback (most recent call last)
Cell In[85], line 5
      3 # KubeCluster?
      4 cluster = KubeCluster(name="my-dask-cluster", namespace="dask-jobs-ns", create_mode=CreateMode.CREATE_ONLY)
----> 5 cluster.scale(2)
File /opt/conda/lib/python3.10/site-packages/dask_kubernetes/operator/kubecluster/kubecluster.py:729, in KubeCluster.scale(self, n, worker_group)
    713 def scale(self, n, worker_group="default"):
    714     """Scale cluster to n workers
    715 
    716     Parameters
   (...)
    726     >>> cluster.scale(7, worker_group="high-mem-workers") # scale worker group high-mem-workers to seven workers
    727     """
--> 729     return self.sync(self._scale, n, worker_group)
File /opt/conda/lib/python3.10/site-packages/distributed/utils.py:358, in SyncMethodMixin.sync(self, func, asynchronous, callback_timeout, *args, **kwargs)
    356     return future
    357 else:
--> 358     return sync(
    359         self.loop, func, *args, callback_timeout=callback_timeout, **kwargs
    360     )
File /opt/conda/lib/python3.10/site-packages/distributed/utils.py:434, in sync(loop, func, callback_timeout, *args, **kwargs)
    431         wait(10)
    433 if error is not None:
--> 434     raise error
    435 else:
    436     return result
File /opt/conda/lib/python3.10/site-packages/distributed/utils.py:408, in sync.<locals>.f()
    406         awaitable = wait_for(awaitable, timeout)
    407     future = asyncio.ensure_future(awaitable)
--> 408     result = yield future
    409 except Exception as exception:
    410     error = exception
File /opt/conda/lib/python3.10/site-packages/tornado/gen.py:767, in Runner.run(self)
    765 try:
    766     try:
--> 767         value = future.result()
    768     except Exception as e:
    769         # Save the exception for later. It's important that
    770         # gen.throw() not be called inside this try/except block
    771         # because that makes sys.exc_info behave unexpectedly.
    772         exc: Optional[Exception] = e
File /opt/conda/lib/python3.10/site-packages/dask_kubernetes/operator/kubecluster/kubecluster.py:740, in KubeCluster._scale(self, n, worker_group)
    735     await autoscaler.delete()
    737 wg = await DaskWorkerGroup(
    738     f"{self.name}-{worker_group}", namespace=self.namespace
    739 )
--> 740 await wg.scale(n)
    741 for instance in self._instances:
    742     if instance.name == self.name:
File /opt/conda/lib/python3.10/site-packages/kr8s/_objects.py:307, in APIObject.scale(self, replicas)
    305 if not self.scalable:
    306     raise NotImplementedError(f"{self.kind} is not scalable")
--> 307 await self._exists(ensure=True)
    308 await self._patch({"spec": dot_to_nested_dict(self.scalable_spec, replicas)})
    309 while self.replicas != replicas:
File /opt/conda/lib/python3.10/site-packages/kr8s/_objects.py:227, in APIObject._exists(self, ensure)
    225     return True
    226 if ensure:
--> 227     raise NotFoundError(f"Object {self.name} does not exist")
    228 return False
**NotFoundError: Object my-dask-cluster-default does not exist**
Environment:
- Dask version: 2023.5.0
 - Python version:
 - Operating System:
 - Install method (conda, pip, source): pip