Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 连接到现有Kubernetes Dask群集_Python_Kubernetes_Dask_Kubernetes Helm_Dask Kubernetes - Fatal编程技术网

Python 连接到现有Kubernetes Dask群集

Python 连接到现有Kubernetes Dask群集,python,kubernetes,dask,kubernetes-helm,dask-kubernetes,Python,Kubernetes,Dask,Kubernetes Helm,Dask Kubernetes,使用,我创建了一个Dask集群 NAME READY STATUS RESTARTS AGE dask01-jupyter-aaa-aaaa 1/1 Running 0 3d19h dask01-scheduler-bbb-bbbb 1/1 Running 0 3d19h dask01-worker-ccc-cccc

使用,我创建了一个Dask集群

NAME                               READY   STATUS    RESTARTS   AGE
dask01-jupyter-aaa-aaaa            1/1     Running   0          3d19h
dask01-scheduler-bbb-bbbb          1/1     Running   0          3d19h
dask01-worker-ccc-cccc             1/1     Running   0          3d19h
dask01-worker-ddd-dddd             1/1     Running   0          3d19h
dask01-worker-eee-eeee             1/1     Running   0          3d19h
我可以运行基本的Dask工作负载

将dask.array导入为da
数组=da.one((100010001000),块=(10010010))
现在,我想以某种方式将其连接到客户端:

来自dask导入的

集群=无#待办事项:以某种方式配置KubeClusterhttps://kubernetes.dask.org/en/latest/
客户端=分布式。客户端(群集)
如果我想:

来自dask_kubernetes import KubeCluster
集群=KubeCluster.from_yaml('worker-spec.yml'))

但是如何连接到现有集群?

达斯克赫尔姆图和达斯克库伯内特斯图是两个以不同方式工作的独立项目。它们不能兼容在一起

如果您使用的是Jupyter笔记本,它是作为Helm图表的一部分创建的,那么一切都已经为您配置好了,您可以使用默认选项创建Dask客户端

来自分布式导入客户端的

client=client()
如果希望使用不同的Python环境,例如本地计算机上的环境,则必须指定调度程序的远程地址。这取决于您如何配置舵图

例如,如果您通过负载平衡器公开了调度程序,则需要将客户端指向它

来自分布式导入客户端的

client=client('tcp://:8786')
如果您获得舵图部署的状态,它将在打印的注释中显示有关如何连接到调度程序的信息

helm状态

如果您已经安装了Dask Helm软件包,则可以使用
kubectl
检索要传递到
分布式客户端的TCP连接地址。例如,如果您选择使用头盔发布名称
dask abc
distributed。在
helm install
-请参阅-设置集群时,您可以按照并使用
kubectl get services
,以筛选此命令的输出,并仅检索Dask调度程序服务(将命名为
Dask abc调度程序
)的IP地址

是使用
kubectl get pods
jsonpath
获取pods名称的类似示例(请参见以
pods=$(
)开头的行)。您必须等待服务的IP地址变为可用,使用
--watch
标志(请参见

$export RELEASE\u NAME=dask abc
#等待负载平衡器外部IP可用
$kubectl获取服务--等待$RELEASE\u NAME-scheduler
#获取Dask调度程序地址
$dask_调度程序=$(kubectl获取服务\
$RELEASE\u NAME-scheduler\
--output=jsonpath='{.status.loadBalancer.ingress[0].ip}')
$echo$dask_调度程序
然后,上面打印的
dask_调度程序
地址可以在传递到Python代码中的
distributed.Client()
的url中使用

客户端连接url=“tcp://:8786” >client=distributed.client(客户端\连接\ url) >打印(客户端) . . . .