在 Kubernetes 上部署一个深度学习模型( 二 )
构建Docker容器:
sudodockerbuild-tkubermatic-dl:latest.这条命令使用kubermatic-dl镜像为你当前工作目录的代码创建了一个容器 。
使用
sudodockerrun-d-p5000:5000kubermatic-dl命令检查你的容器可以在你的主机上正常运行 。
使用
sudodockerps-a命令查看你本地容器的运行状态:
将你的模型上传到DockerHub
在向Kubernetes上部署模型前 , 你的镜像首先需要是公开可用的 。 你可以通过将你的模型上传到DockerHub来将它公开 。 (如果你没有DockerHub的账号 , 你需要先创建一个)
在终端中登录DockerHub账号:
sudodockerlogin给你的镜像打上标签 , 这样你的模型上传到DockerHub后也能拥有版本信息:
sudodockertag使用
sudodockerimages命令检查你的镜像的ID 。
部署你的模型到Kubernetes集群
首先在KubermaticKubernetes平台创建一个项目,然后根据快速开始创建一个Kubernetes集群 。
文章图片
下载用于访问你的集群的kubeconfig , 将它放置在下载目录中 , 并记得设置合适的环境变量 , 使得你的环境能找到它:
文章图片
使用kubectl命令检查集群信息 , 例如 , 需要检查kube-system是否在你的集群正常启动了就可以使用命令kubectlcluster-info
为了在集群中运行容器 , 你需要创建一个部署用的配置文件(deployment.yaml) , 再运行apply命令将其应用于集群中:
apiVersion:apps/v1kind:Deploymentmetadata:name:kubermatic-dl-deploymentspec:selector:matchLabels:app:kubermatic-dlreplicas:3template:metadata:labels:app:kubermatic-dlspec:containers:-name:kubermatic-dlimage:kubermatic00/kubermatic-dl:latestimagePullPolicy:Alwaysports:-containerPort:8080kubectlapply-fdeployment.yaml`为了将你的部署开放到公网环境 , 你需要一个能够给你的容器创建外部可达IP地址的服务:
kubectlexposedeploymentkubermatic-dl-deployment--type=LoadBalancer--port80--target-port5000`就快大功告成了!首先检查你布署的服务的状态 , 然后通过IP请求的你图像识别API:
kubectlgetservice最后根据你的外部IP使用以下两张图片对你的图像识别服务进行测试:
文章图片
文章图片
总结
在这篇教程中 , 你可以创建一个深度学习模型 , 并且使用Flask提供RESTAPI服务 。 它介绍了如何将应用放在Docker容器中 , 如何将这个镜像上传到DockerHub中 , 以及如何使用Kubernetes部署你的服务 。 只需几个简单的命令 , 你就可以使用KubermaticKubernetes平台部署该应用程序 , 并且开放服务给别人使用 。
via:https://opensource.com/article/20/9/deep-learning-model-kubernetes
作者:ChaimaaZyani选题:lujun9972译者:chunibyo-wly校对:wxy
本文由LCTT原创编译 , Linux中国荣誉推出
- 苹果|库克压力确实大,在众多国产厂家对标下,iPhone13迎来“真香价”!
- 设计师|UI设计岗位薪资怎么样
- 芯片|上市仅4个月,跌价1000元,微云台主摄+6nm芯片+4400mAh
- AMD|AMD预告新款Radeon Pro专业卡:第一次用上6nm工艺
- 京东正式上线“年礼无忧”服务
- 华为鸿蒙系统|华为偷偷上架新机,鸿蒙系统+5000mAh大电池,仅售1399元
- 红米手机|卢伟冰换上新手机,Redmi K50官宣:三个惊喜
- gtx1060|GTX1060上古神器?
- ios|华为迎来新里程碑,在新领域旗开得胜!
- 打脸!华为在美国,用专利把英特尔、苹果、微软、高通打败了