Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
Serving
提交
b7c4da34
S
Serving
项目概览
PaddlePaddle
/
Serving
接近 2 年 前同步成功
通知
186
Star
833
Fork
253
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
105
列表
看板
标记
里程碑
合并请求
10
Wiki
2
Wiki
分析
仓库
DevOps
项目成员
Pages
S
Serving
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
105
Issue
105
列表
看板
标记
里程碑
合并请求
10
合并请求
10
Pages
分析
分析
仓库分析
DevOps
Wiki
2
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
b7c4da34
编写于
3月 17, 2022
作者:
T
TeslaZhao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update doc
上级
d61ed5bb
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
61 addition
and
15 deletion
+61
-15
doc/Offical_Docs/2-4_Kubernetes_CN.md
doc/Offical_Docs/2-4_Kubernetes_CN.md
+61
-15
未找到文件。
doc/Offical_Docs/2-4_Kubernetes_CN.md
浏览文件 @
b7c4da34
...
...
@@ -41,37 +41,49 @@ kubectl apply -f https://bit.ly/kong-ingress-dbless
完整镜像列表,请参考
[
DOCKER 开发镜像列表
](
./Docker_Images_CN.md
)
其次,需要在镜像文件中添加 Serving 业务代码和模型。假定按上述步骤已拥有Serving运行镜像 paddle_serving:cuda10.2-py36,以 PaddleOCR 文字识别任务为例展示镜像制作方法。
其次,需要在镜像文件中添加 Serving 业务代码和模型。假定按上述步骤完成3个前置任务
#### 1.选定运行镜像:registry.baidubce.com/paddlepaddle/serving:0.8.0-cuda10.1-cudnn7-runtime
#### 2.克隆代码库(/home/work):git clone https://github.com/PaddlePaddle/Serving.git
#### 3.安装 py wheels:pip3 install paddle-serving-app==0.8.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
```
bash
# run docker
docker run
--rm
-dit
--name
pipeline_serving_demo paddle_serving:cuda10.2-py36 bash
cd
Serving/examples/Pipeline/PaddleOCR/ocr
# Run docker
nvidia-docker run
--rm
-dit
--name
pipeline_serving_demo registry.baidubce.com/paddlepaddle/serving:0.8.0-cuda10.1-cudnn7-runtime bash
# get models
python
-m
paddle_serving_app.package
--get_model
ocr_rec
# Enter your serving repo, and download OCR models
cd
/home/work/Serving/examples/Pipeline/PaddleOCR/ocr
python3
-m
paddle_serving_app.package
--get_model
ocr_rec
tar
-xzvf
ocr_rec.tar.gz
python
-m
paddle_serving_app.package
--get_model
ocr_det
python
3
-m
paddle_serving_app.package
--get_model
ocr_det
tar
-xzvf
ocr_det.tar.gz
cd
..
#
c
opy OCR directory to your docker
#
C
opy OCR directory to your docker
docker
cp
ocr pipeline_serving_demo:/home/
#
c
ommit and push it
docker commit pipeline_serving_demo registry.baidubce.com/paddlepaddle/serving:k8s
-pipeline-demo
docker push registry.baidubce.com/paddlepaddle/serving:k8s
-pipeline-demo
#
C
ommit and push it
docker commit pipeline_serving_demo registry.baidubce.com/paddlepaddle/serving:k8s
_ocr_pipeline_0.8.3_post101
docker push registry.baidubce.com/paddlepaddle/serving:k8s
_ocr_pipeline_0.8.3_post101
```
最终,你完成了业务镜像制作环节。
**三. 集群部署**
Paddle Serving 封装了脚本 generate_k8s_yamls.sh 用以生成 Kubernetes 部署配置。以 OCR 为例,运行以下命令生成 Kubernetes 集群配置。
Serving/tools/generate_k8s_yamls.sh 会生成 Kubernetes 部署配置。以 OCR 为例,运行以下命令生成 Kubernetes 集群配置。
```
sh tools/generate_k8s_yamls.sh --app_name ocr --image_name registry.baidubce.com/paddlepaddle/serving:k8s_ocr_pipeline_0.8.3_post101 --workdir /home/ocr --command "python3.7 web_service.py" --port 9999
```
生成信息如下:
```
sh tools/generate_k8s_yamls.sh --app_name ocr --image_name registry.baidubce.com/paddlepaddle/serving:k8s-pipeline-demo --workdir /home/ocr --command "python3.6 web_service.py" --port 9999
named arg: app_name: ocr
named arg: image_name: registry.baidubce.com/paddlepaddle/serving:k8s_ocr_pipeline_0.8.3_post101
named arg: workdir: /home/ocr
named arg: command: python3.7 web_service.py
named arg: port: 9999
check k8s_serving.yaml and k8s_ingress.yaml please.
```
需要注意的是 app_name 需要同 URL 的函数名相同。例如 ocr 示例的访问 URL 是 https://127.0.0.1:9292/ocr/prediction。
运行命令后,生成2个 yaml 文件,分别是 k8s_serving.yaml 和 k8s_ingress.yaml。执行以下命令启动 Kubernetes 集群 和 Ingress 网关。
...
...
@@ -89,7 +101,22 @@ kubectl get deploy
部署状态如下:
```
NAME READY UP-TO-DATE AVAILABLE AGE
ocr 1/1 1 1 2d20h
ocr 1/1 1 1 10m
```
查询全部 Pod 信息 运行命令:
```
kubectl get pods
```
查询 Pod 信息如下:
```
NAME READY STATUS RESTARTS AGE
ocr-c5bd77d49-mfh72 1/1 Running 0 10m
uci-5bc7d545f5-zfn65 1/1 Running 0 52d
```
进入 Pod container 运行命令:
```
kubectl exec -ti ocr-c5bd77d49-mfh72 -n bash
```
查询集群服务状态:
...
...
@@ -110,3 +137,22 @@ kube-system kube-dns ClusterIP 172.16.0.10 <none>
kube-system metrics-server ClusterIP 172.16.34.157 <none> 443/TCP 28d
```
根据 kong-proxy 的 CLUSTER-IP 和 端口信息,访问 URL: http://172.16.88.132:80/ocr/prediction 查询 OCR 服务。
**四.更新镜像**
假定更新了文件或数据,重新生成 k8s_serving.yaml 和 k8s_ingress.yaml。
```
sh tools/generate_k8s_yamls.sh --app_name ocr --image_name registry.baidubce.com/paddlepaddle/serving:k8s_ocr_pipeline_0.8.3_post101 --workdir /home/ocr --command "python3.7 web_service.py" --port 9999
```
更新配置,并重启Pod
```
kubectl apply -f k8s_serving.yaml
kubectl apply -f k8s_ingress.yaml
# 查找 ocr 的 pod name
kubectl get pods
# 更新 pod
kubectl exec -it ocr-c5bd77d49-s8jwh -n default -- /bin/sh
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录