【问题标题】:Determine Dask scheduler IP address deploying with Kubernetes确定使用 Kubernetes 部署的 Dask 调度程序 IP 地址
【发布时间】:2021-10-27 17:28:31
【问题描述】:

我正在尝试在 Kubernetes Dask 中实现一个调度程序和三个工作人员。我有一个 pod (frontend.yaml) 用于调度程序,另外三个 pod (replicas: 3 in worker.yaml) 用于工作人员。问题是工作人员正在尝试连接到调度程序并获得超时,因为他们不知道调度程序的 IP 地址。由于这些 IP 地址是由 Kubernetes 动态定义的,因此我需要了解如何配置。

调度器和worker的IP地址是动态确定的:

sofer@abc:~/aks$ kubectl get pods -o wide
NAME                          READY   STATUS             RESTARTS   AGE     IP          
img-python-6ff4d88876-n97g8   2/2     Running            0          4m42s   10.1.0.34  
worker-5f6d948874-fn67p       1/1     Running            4          4m22s   10.1.0.18  
worker-5f6d948874-hhjs7       0/1     Running            3          4m22s   10.1.0.38  
worker-5f6d948874-jbh4k       1/1     Running            4          4m22s   10.1.0.22

前端.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: img-python
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: cont-python
  template:
    metadata:
      labels:
        app: cont-python
    spec:
      containers:
        - name: cont-scheduler
          image: xxx.azurecr.io/img-python-001:latest
          command: ["dask-scheduler"]
          ports:
            - containerPort: 8786
            - containerPort: 8787

worker.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: worker
  namespace: default
spec:
  replicas: 3
  selector:
    matchLabels:
      app: cont-worker
  template:
    metadata:
      labels:
        app: cont-worker
    spec:
      containers:
        - name: cont-worker
          image: sofacr.azurecr.io/img-python-001:latest
          workingDir: /code
          command: ["dask-worker"]
          args: ["scheduler:8786"]
          env:
            - name: PYTHONPATH
              value: "/code"
            - name: SCHEDULER_ADDRESS
              value: "scheduler"
            - name: SCHEDULER_PORT
              value: "8786"

【问题讨论】:

  • 您查看过daskdaskhub 舵图吗?这些使用dask_kubernetesdask-gateway 设置完整部署。这些部署不是手动配置工作人员并指定 IP 地址,而是动态创建调度程序和工作人员。

标签: python azure docker kubernetes dask


【解决方案1】:

谢谢Michael Delgado。发布您的建议作为帮助社区成员的答案。

您可以查看daskdaskhub 舵图。这些使用dask_kubernetesdask-gateway 设置完整部署。这些部署不是手动配置工作人员并指定 IP 地址,而是动态创建调度程序和工作人员

按照ps0604的建议,使用Dask Helm图表部署dask,可以参考Helm Install Dask for a Single User

【讨论】:

猜你喜欢
  • 2020-09-05
  • 2014-08-08
  • 1970-01-01
  • 1970-01-01
  • 2011-06-07
  • 1970-01-01
  • 2018-11-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多