首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在aws kubernetes实例上部署dask-kubernetes自适应集群

如何在aws kubernetes实例上部署dask-kubernetes自适应集群
EN

Stack Overflow用户
提问于 2019-09-20 00:23:36
回答 1查看 487关注 0票数 1

我正在尝试将一个自适应的dask kubernetes集群部署到我的aws K8s实例(我想使用here中的kubeControl接口)。我不清楚我在哪里以及如何执行这段代码,以便它在我现有的集群上是活动的。除此之外,我还希望有一个入口规则,以便我拥有的另一个ec2实例可以连接到集群并在aws VPC中执行代码,以维护安全性和网络性能。

到目前为止,我已经成功地运行了一个功能强大的k8s集群,并在其上运行了dask和jupyterhub。话虽如此,我可以使用公开的AWS dns服务器从我的另一个ec2实例连接到这个集群,并执行自定义代码,但这不是kubernetes原生dask集群。

我已经为kubernetes修改了部署yaml,但我不清楚我需要做什么修改才能让它使用正确的kubernetes集群/调度器。我知道我需要修改我在install dask-kubernetes中使用的docker镜像,但这仍然对我没有帮助。

代码语言:javascript
复制
---
# nameOverride: dask
# fullnameOverride: dask

scheduler:
  name: scheduler
  image:
    repository: "daskdev/dask"
    tag: 2.3.0
    pullPolicy: IfNotPresent
    # See https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
    pullSecrets:
    #  - name: regcred
  replicas: 1
  # serviceType: "ClusterIP"
  # serviceType: "NodePort"
  serviceType: "LoadBalancer"
  servicePort: 8786
  resources: {}
  #  limits:
  #    cpu: 1.8
  #    memory: 6G
  #  requests:
  #    cpu: 1.8
  #    memory: 6G
  tolerations: []
  nodeSelector: {}
  affinity: {}

webUI:
  name: webui
  servicePort: 80

worker:
  name: worker
  image:
    repository: "daskdev/dask"
    tag: 2.3.0
    pullPolicy: IfNotPresent
    # dask_worker: "dask-cuda-worker"
    dask_worker: "dask-worker"
    pullSecrets:
    #  - name: regcred
  replicas: 3
  aptPackages: >-
  default_resources:  # overwritten by resource limits if they exist
    cpu: 1
    memory: "4GiB"
  env:
  #  - name: EXTRA_CONDA_PACKAGES
  #    value: numba xarray -c conda-forge
  #  - name: EXTRA_PIP_PACKAGES
  #    value: s3fs dask-ml --upgrade
  resources: {}
  #  limits:
  #    cpu: 1
  #    memory: 3G
  #    nvidia.com/gpu: 1
  #  requests:
  #    cpu: 1
  #    memory: 3G
  #    nvidia.com/gpu: 1
  tolerations: []
  nodeSelector: {}
  affinity: {}

jupyter:
  name: jupyter
  enabled: true
  image:
    repository: "daskdev/dask-notebook"
    tag: 2.3.0
    pullPolicy: IfNotPresent
    pullSecrets:
    #  - name: regcred
  replicas: 1
  # serviceType: "ClusterIP"
  # serviceType: "NodePort"
  serviceType: "LoadBalancer"
  servicePort: 80
  # This hash corresponds to the password 'dask'
  password: 'sha1:aae8550c0a44:9507d45e087d5ee481a5ce9f4f16f37a0867318c'
  env:
  #  - name: EXTRA_CONDA_PACKAGES
  #    value: "numba xarray -c conda-forge"
  #  - name: EXTRA_PIP_PACKAGES
  #    value: "s3fs dask-ml --upgrade"
  resources: {}
  #  limits:
  #    cpu: 2
  #    memory: 6G
  #  requests:
  #    cpu: 2
  #    memory: 6G
  tolerations: []
  nodeSelector: {}
  affinity: {}
EN

回答 1

Stack Overflow用户

发布于 2020-01-16 23:31:28

要在Kubernetes上运行Dask集群,有三种推荐方法。这些方法中的每一种都需要您正确配置现有的Kubernetes集群和凭据(kubectl在本地工作)。

任务舵图

您可以使用Dask helm chart部署独立的任务集群。

代码语言:javascript
复制
helm repo add dask https://helm.dask.org/
helm repo update
helm install --name my-release dask/dask

请注意,这不是自适应集群,但您可以通过kubectl修改部署的大小来扩展它。

代码语言:javascript
复制
kubectl scale deployment dask-worker --replicas=10

Helm Chart Documentation

Python dask-kubernetes

您还可以使用dask-kubernetes,这是一个Python库,用于动态创建ad-hoc集群。

代码语言:javascript
复制
pip install dask-kubernetes
代码语言:javascript
复制
from dask_kubernetes import KubeCluster

cluster = KubeCluster()
cluster.scale(10)  # specify number of nodes explicitly

cluster.adapt(minimum=1, maximum=100)  # or dynamically scale based on current workload

这将从头开始创建一个Dask集群,并在cluster对象被垃圾回收时(最有可能在退出时)拆卸它。

dask-kubernetes Documentation

任务网关

Dask Gateway为管理Dask集群提供了一个安全的多租户服务器。

要开始使用Kubernetes,您需要创建一个带有网关代理令牌的Helm配置文件(config.yaml)。

代码语言:javascript
复制
gateway:
  proxyToken: "<RANDOM TOKEN>"

提示:您可以使用openssl rand -hex 32__生成合适的令牌。

然后安装图表。

代码语言:javascript
复制
helm repo add dask-gateway https://dask.org/dask-gateway-helm-repo/
helm repo update
helm install --values config.yaml my-release dask-gateway/dask-gateway

Dask Gateway Documentation

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58015274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档