云上部署#

前置条件#

目前,我们支持在 Amazon EKS 中部署 Xorbits 。

在 EKS 集群管理机器上安装 Xorbits。参考 安装教程

Amazon EKS 部署#

第一步,确保你的 EKS 集群能够访问 Dockerhub 以拉取 Xorbits 官方镜像。

第二步,在你的 EKS 集群中安装 AWS Load Balancer Controller

第三步,通过 Python 代码部署 Xorbits,例如:

from kubernetes import config
from xorbits.deploy.kubernetes import new_cluster
cluster = new_cluster(config.new_client_from_config(), worker_cpu=1, worker_mem='4g')

注意, new_cluster 接口的 cluster_type 选项默认值为 auto,意味着 Xorbits 将自动探测你的机器上的 kubectl 命令指向的集群。因此请确保 kubectl 命令指向目标 EKS 集群。

部署代码运行后,你将很快在控制台中看到形如 Xorbits endpoint http://<ingress_service_ip>:80 is ready! 的日志,这意味着部署成功,同时你可以用日志中的地址访问 Xorbits 集群的网页。

参考 Docker 镜像 以使用你自己制作的镜像在 EKS 中部署 Xorbits。

参考 安装 Python 包 为 Xorbits 集群中所有节点安装额外的 Python 包。

部署代码中的 new_cluster 接口详细信息参阅 xorbits.deploy.kubernetes.client.new_cluster()

在同一控制台中运行以下代码验证 EKS 中的 Xorbits 集群是否正常工作:

import xorbits.numpy as np
a = np.ones((100, 100), chunk_size=30) * 2 * 1 + 1
b = np.ones((100, 100), chunk_size=20) * 2 * 1 + 1
c = (a * b * 2 + 1).sum()
print(c)

External Storage#

Great news! Xorbits starts to support separation of storage and compute. Start to enjoy better scalability, flexibility, and performance it brings. Check out the last section JuiceFS on Kubernetes on the page Kubernetes Deployment.