1.将模型导出,制作TF2.0+Flask服务。
2.将flask服务文件,加入docker容器内部,提交新images.
3.制作Dockerfile.将(2)中的镜像启动服务。
From tf2_flask:v1
WORKDIR /model_server/albert_predict
EXPOSE 8101
CMD ["python", "albert_predict.py"]
docker build -t new_images:new_tag .
3.利用K8S写出deployment和service文件。
Deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: flask-demo
labels:
app: flask-albert
spec:
selector:
matchLabels:
app: flask-albert
replicas: 4
template:
metadata:
labels:
app: flask-albert
spec:
containers:
- name: flaskdemo
image: tf2flask:v2
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8101
Service.yaml
apiVersion: v1
kind: Service
metadata:
name: flask-demo
labels:
app: flask-albert
spec:
ports:
- port: 8101
protocol: "TCP"
targetPort: 8101
selector:
app: flask-albert
type: LoadBalancer
externalIPs:
- 192.168.101.1
4.kubectl create -f deployment.yaml
kubectl create -f service.yaml
启动完成。
5.查看服务状态:
kubectl get pods