Нуб здесь. Я хочу установить Dask с пулом рабочих, который может увеличиваться и уменьшаться в зависимости от текущих требований. Я выполнил нулевые инструкции по установке jupyterhub на GKE, а затем выполнил инструкции по установке для dask-kubernetes: https://kubernetes.dask.org/en/latest/.
Первоначально я столкнулся с некоторыми проблемами с разрешениями, поэтому я создал учетную запись службы со всеми разрешениями и изменил свой config.yaml, чтобы использовать эту учетную запись службы. Это избавило от проблем с разрешениями, но теперь, когда я запускаю этот скрипт со значением по умолчанию worker-spec.yml, у меня нет рабочих:
cluster = KubeCluster.from_yaml('worker-spec.yml')
cluster.scale_up(4) # specify number of nodes explicitly
client = distributed.Client(cluster)
client
Cluster
Workers: 0
Cores: 0
Memory: 0 B
Когда я перечисляю свои поды, я вижу много рабочих в состоянии ожидания:
patrick_mineault@cloudshell:~ (neuron-264716)$ kubectl get pod --namespace jhub
NAME READY STATUS RESTARTS AGE
dask-jovyan-24034fcc-22qw7w 0/1 Pending 0 45m
dask-jovyan-24034fcc-25h89q 0/1 Pending 0 45m
dask-jovyan-24034fcc-2bpt25 0/1 Pending 0 45m
dask-jovyan-24034fcc-2dthg6 0/1 Pending 0 45m
dask-jovyan-25b11132-52rn6k 0/1 Pending 0 26m
...
И когда я описываю каждый модуль, я вижу, что недостаточно памяти, ошибка процессора:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 69s (x22 over 30m) default-scheduler 0/1 nodes are available: 1 Insufficient cpu, 1 Insufficient memory.
Мне нужно вручную создать новый пул автомасштабирования в GKE или что-то в этом роде? У меня сейчас только один пул, тот, на котором работает jupyterlab, и этот пул уже полностью зафиксирован. Я не могу понять, какая часть конфигурации заставляет dask выяснить, в какой пул поместить рабочих.
worker-spec.yaml
требуется два виртуальных ЦП и 6 ГБ ОЗУ на каждого рабочего. Если это недоступно на какой-либо машине в вашем пуле и ваш опрос увеличен до максимума, вы получите ошибки, указанные выше. - person Jacob Tomlinson   schedule 16.01.2020