天天看点

Minikube专案启动!将来笔电用GPU执行Kubernetes工作负载

Minikube专案启动!将来笔电用GPU执行Kubernetes工作负载

为了缩小开发者在本机或是Kubernetes丛集开发应用程序的环境差异,网络大厂对Minikube以及Skaffold开源项目进行更新贡献,除了让本机端的Kubernetes支持GPU工作负载外,现在Skaffold还能自动部署Java应用程序。由于现在机器学习和其他计算密集的应用程序越来越盛行,同时也增加了对GPU硬件加速的需求,但是网络大厂提到,目前缺乏对本机Kubernetes开发的GPU支持,而这代表,开发者想要开发和测试GPU应用程序,除非使用不同于生产环境的本机环境进行开发,否则就是要使用远程的开发环境,而这将产生较长的回馈周期,使得开发测试速度受到限制,而且在不同于生产的环境中进行开发,不只降低生产力也容易产生微小的错误。

Minikube专案启动!将来笔电用GPU执行Kubernetes工作负载

Minikube允许用户在本机执行Kubernetes工作负载,而网络大厂为最新的Minikube增加了GPU支持,改善了在Kubernetes上创建GPU工作负载的开发人员体验。因此现在开发者可以利用工作站空闲的GPU,在Minikube上执行GPU工作。网络大厂提到,目前这项整合只能在Linux上执行,而且仍存在一些硬件限制,仅支持Nvidia的GPU。另外,开发者把应用程序部署到云端平台,可能需要使用Kubernetes LoadBalancer类型创建负载平衡器或是外部IP,而Minikube也支持LoadBalancer类型的模拟行为,目前Minikube会将其以单独的守护进程执行,并创建网络路由到Minikube虚拟机,使得主机可以获得ClusterIP,并复制ClusterIP到ExternalIP网域。

Minikube专案启动!将来笔电用GPU执行Kubernetes工作负载

网络大厂提到,目前Java应用程序无法良好的兼容于Kubernetes,除了建构时间缓慢,而且重载应用程序以部署更新的程序非常麻烦。为此去年网络大厂发布了Jib,能将Java应用程序简单的容器化,使用Jib不需要安装Docker、执行Docker守护进程或是编写Dockerfile。而现在网络大厂对Skaffold做出更新,让Jib成为Kubernetes持续开发命令行工具Skaffold中的建置器。用户可以将Skaffold与使用Jib插件配置的Maven或Gradle项目一起使用,Skaffold使用Jib以容器化JVM应用程序,并在侦测到更新时将其部署至Kubernetes丛集,这将免除了开发者繁杂的手续,可以专心的执行开发工作。只需要将jibMaven或是jibGradle添加到skaffold.yaml中,就能够自动持续部署Java应用程序到Kubernetes丛集中。Skaffold还提供了档案同步功能,当开发者只想处理一个简单的网页应用程序,小幅度修改了一个HTML文件,重建并且重新部署应用程序显得过于缺乏效率,Skaffold可以只将新版的档案注入到正在执行的容器中,藉此大幅提升更新效率。

继续阅读