繁体   English   中英

裸机设置上的 Kubeflow 设置?

[英]Kubeflow setup on baremetal setup?

一直试图在共享服务器上的裸机(预装等)上设置 Kubeflow,即不是我的笔记本电脑。 我遵循了带有 kfctl_k8s_istio设置说明的Kubeflow 部署,一切都很好。

在“访问 Kubeflow 仪表板”下,它说

请参阅 Ingress 网关指南。

这只会导致更多问题我不知道答案是因为我没有编写设置,即

  1. UI 的入口端口是什么? kubectl get svc istio-ingressgateway -n istio-system返回一个拥抱列表??
  2. 如果外部 IP 是<none>怎么办? 服务器在本地网络上有一个 IP,即 192.168.1.69
  3. 我假设kfctl没有设置外部负载平衡器?
  4. 承载 Web UI 的容器是什么? GatewayVirtualService yaml 应该是什么样的?

我想使用 Kubeflow 并且必须了解 Istio 的工作原理? 为什么?

不幸的是,这就是 Kubeflow 自 0.6 版以来的工作方式。 只要我记得大使代理有很多麻烦,考虑到 Istio事实上已成为 Kubernetes 的新服务网格标准,这个项目最终将其集成为默认解决方案只是时间问题. 然而,裸机用户部署它变得稍微复杂一些。

在你的情况下,这就是你必须做的:

  1. 在您的集群中安装istio并启用istio-ingressgateway (确保您的 Kubernetes 版本受支持)
  2. 安装外部负载均衡器配置器, metallb是要走的路。 L2 设置适用于大多数情况,几乎不需要配置。
  3. 将您的istio-ingressgateway类型从 ClusterIP 转换为 LoadBalancer,显式设置 LoadBalancer IP 以提高可读性。
  4. 通过访问负载均衡器,享受配置不佳但工作正常的中央仪表板。

总体而言,Istio 集成使 ML 工程师更加痛苦,而 Ops 和 DevOps 工程师部署和配置它更容易。

所以,最后我选择了 k3s,因为它是一个单线设置

curl -sfL https://get.k3s.io | sh -

您可以使用环境变量设置许多选项

我们使用 GPU,因此需要为 Kubernetes设置NVIDIA 设备插件

我们现在使用 Ansible 脚本完成所有这些工作,因为我们有一组机器需要管理。

Kubeflow 与大多数 Google 项目一样过于臃肿,我们现在将Dagster视为易于在本地设置上进行开发。

一直试图在共享服务器(而不是我的笔记本电脑)上的裸机上(Prem等)上设置Kubeflow。 我按照kubectl_k8s_istio设置说明进行了Kubeflow部署,这些说明都很好。

在“访问Kubeflow仪表板”下说

请参阅Ingress Gateway指南。

这只是导致更多的问题,我不知道答案,因为我没有写设置,即

  1. UI的入口端口是什么? kubectl get svc istio-ingressgateway -n istio-system返回一个拥抱列表?
  2. 如果外部IP为<none>怎么办? 服务器在本地网络上具有IP,即192.168.1.69
  3. 我假设kfctl没有设置外部负载均衡器?
  4. 什么是托管Web UI的容器? GatewayVirtualService yaml应该是什么样的?

我想使用Kubeflow,必须学习Istio的工作原理? 为什么?

如果你仍然想给 Kubeflow 一个机会,这里是我如何启动和运行它的。 我本机在 Ubuntu 18.04.3 LTS 上运行 MicroK8s 1.18.2 + Kubeflow(不在 VM 环境中)。

我的安装程序:

> # Install MicroK8s
> $ sudo snap install microk8s --classic --channel=1.18/stable  

> # Set IP forwarding
> $ sudo apt-get update -qq  
> $ sudo apt-get install -qq -y iptables-persistent  
> $ sudo iptables -P FORWARD ACCEPT

> # Add xip.io adress to hosts   
> $ sudo -- sh -c "echo '10.64.140.43\t10.64.140.43.xip.io' >>
> /etc/hosts"

> # Check if MicroK8s is Running
> $ microk8s status --wait-ready | grep microk8s  
> $ microk8s kubectl get nodes
> $ microk8s kubectl get services

> # Set kubectl alias for MicroK8s 
> $ sudo snap alias microk8s.kubectl kubectl 

> # Activate MicroK8s Add-ons (DNS, Storage, K8s-Dashboard)
> $ microk8s.enable dns storage dashboard

> # (OPTIONAL) Activate GPU Devices for Nvidia GPUs
> $ microk8s.enable gpu 

> # Activate Kubeflow 
> $ microk8s.enable kubeflow    

> # Check if MicroK8s Add-ons are Running 
> $ microk8s status --wait-ready

根据您的硬件和互联网连接,可能需要一些时间才能准备好所有服务。 如果所有服务都已启动,只需在浏览器中打开http://10.64.140.43.xip.io并输入用户 (admin) 和您生成的密码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM