我是一名经验丰富的AI从业者,但在部署这些模型方面完全是个新手。我按照一个在线教程,使用Docker Desktop在本地部署了模型。它为前端和后端创建了一组容器。我在每个容器中安装了TensorFlow来运行AI模型(在Dockerfile中使用RUN pip3 install tensorflow)。然而,我无法在Kubernetes上部署它。我勾选了允许将Docker堆栈发送到Kubernetes的选项。当我运行docker images
时,可以看到前端和后端的镜像。接下来,我创建了一个GCP项目并在其中创建了一个集群。然后,我在特定格式gcr.io/project/name:tag
下标记这些镜像,并将它们推送到前端和后端。然后我部署了这两个,并将它们暴露为fdep(前端)和bdep(后端)。从这里可以看到,这两个都运行正常:[![enter image description here][1]][1]
然而,当我访问前端的外部IP并运行模型时,什么也没有发生。好像后端没有输出任何东西。当我使用Postman向后端的外部IP发送请求时,得到的结果是:[![enter image description here][2]][2]
有什么建议吗?我做错了什么?
回答:
由于这个多容器Docker应用最初不是为Kubernetes开发的,请确保在为后端生成服务时指定一个名称,
kubectl expose deployment bdep –port 8081 –name (前端应用期望的名称)
在你的情况下,如果没有使用–name选项,服务名称将默认为部署名称“bdep”,但前端应用期望的名称是“backend”。