部署工程
一、应用部署
通过pai进行远端 Kubernetes 中的应用进行部署,执行过程为:
- 根据项目名称拉取代码
- 执行Maven对代码进行编译打包成Jar包
- 根据项目源代码中的Dockerfile对项目进行打包生成Docker镜像
- 把Docker镜像推送到Harbor仓库
- 通过项目源代码中的
Deployment.yaml
及Service.yaml
进行应用、服务部署
Deployment.yaml
apiVersion: apps/v1 //接口版本
kind: Deployment //接口类型
metadata:
name: pai-example //Deployment名称
labels:
app: pai-example //标签
namespace: test //命名空间
spec:
replicas: 1
selector: //选择器
matchLabels:
app: pai-example //匹配 pod标签
template: //pod模板
metadata: //pod元数据
labels:
app: pai-example //pod模板名称标签,必填
spec: //定义容器模板,该模板可以包含多个容器
containers:
- name: pai-example
image: //镜像地址
args:
- --spring.profiles.active=test
imagePullPolicy: Always
ports:
- containerPort: 8080 //对service暴露端口
imagePullSecrets:
- name: login
Service.yaml
apiVersion: v1
kind: Service
metadata:
name: pai-example
namespace: test
labels:
app: pai-example
ingress: service //主要决定在K8S上的入口,service: http://pai.flyrise.cn/工程名-api
spec:
type: NodePort //配置NodePort,外部流量可访问k8s中的服务
ports:
- port: 8080 //服务访问端口
targetPort: 8080 //容器端口
selector:
app: pai-example
二、如何部署
首先我们需要将工程 push
到git
上,才能进行对工程的部署S。部署工程是通过pai
将工程部署到Kubernetes
上。
1、通过pai查询部署帮助
D:\home\pai-example>pai deploy -h
Found D:\pai\pai-cli\.pai\wrapper\pai-wrapper.jar
将工程部署到Kubernetes
外部工程可通过Git相关参数进行下载,将不根据工程名称去找相应资源下载,但要需注工程名称将被视为Docker镜像名称
需先登录开发者账号
语法:
pai deploy <命令> [参数]
命令:
service 部署后端工程
front 部署前端工程
micro 上传APP小程序
data 部署数据中台工程
docker 部署Docker工程
protocol 部署物联协议工程
microapp 发布微应用
参数:
-h,--help 使用帮助
示例:
部署后端工程
pai deploy service -n pai-demo
pai deploy service -n pai-demo --restart
pai deploy service -n pai-demo -m pai-demo/pai-demo-ui {}
pai deploy service -n pai-demo -r Git仓库地址 -u Git仓库用户名
部署前端工程
pai deploy front -n pai-demo
pai deploy front -n pai-demo --restart
pai deploy front -n pai-demo -m pai-demo/pai-demo-ui {}
pai deploy front -n pai-demo -r Git仓库地址 -u Git仓库用户名
上传APP小程序
pai deploy micro -n pai-demo -t d:\work\__UNI__3D0884F.wgt -v 1.0.0
部署数据中台工程
pai deploy data -n pai-demo
pai deploy data -n pai-demo --restart
pai deploy data -n pai-demo -m pai-demo/pai-demo-ui {}
pai deploy data -n pai-demo -r Git仓库地址 -u Git仓库用户名
部署Docker工程
pai deploy docker -n pai-demo
pai deploy docker -n pai-demo --restart
pai deploy docker -n pai-demo -m pai-demo/pai-demo-ui {}
pai deploy docker -n pai-demo -r Git仓库地址 -u Git仓库用户名
部署物联协议工程
pai deploy protocol -n pai-demo -i 132039413923
发布微应用
pai deploy microapp #根据当前目录的pages.json发布
2、部署后端项目
D:\home\pai-example>pai deploy -n pai-example
小π 正在努力中,请耐心等待哦......
pai-uims应用已部署到Kubernetes(Deployment + Service)
3、查询部署后的Kubernetes中的应用列表
D:\home\pai-example>pai pods -N test
Found D:\pai\pai-cli\.pai\wrapper\pai-wrapper.jar
NAME READY STATUS RESTARTS AGE
pai-example-7c5476fb66-pc579 1/1 Running 0 1天5小时34分31秒
pai-form-generator-57b48b566d-s8l4s 1/1 Running 0 21天6小时5分16秒
我们从中pai-example-7c5476fb66-pc579 1/1 Running
可以看到我们的项目已经部署成功,并且状态是正常Running中
4、访问
打开即可看到上线的项目,pai-工程名称-ui
API 文档入口为:http://pai.flyrise.cn/工程名-api/doc.html
三、查询应用日志
1、先查询应用列表
D:\home\pai-example>pai pods -N test
Found D:\pai\pai-cli\.pai\wrapper\pai-wrapper.jar
NAME READY STATUS RESTARTS AGE
pai-example-7c5476fb66-pc579 1/1 Running 0 1天5小时34分31秒
pai-form-generator-57b48b566d-s8l4s 1/1 Running 0 21天6小时5分16秒
2、查询日志
拿到应用列表的name值,作为查询日志的参数
D:\home\pai-example>pai logs -p pai-example-7c5476fb66-pc579 -N test
Found D:\pai\pai-cli\.pai\wrapper\pai-wrapper.jar
小π 正在努力中,请耐心等待哦......
22:04:27.940 [com.alibaba.nacos.client.Worker.longPolling.fixed-8.129.13.162_8848-b8d5843e-c53f-4526-bfd4-9765f14f40c0] INFO c.a.n.c.c.i.ClientWorker[0] - [run,522] - get changedGroupKeys:[]
22:04:57.444 [com.alibaba.nacos.client.Worker.longPolling.fixed-8.129.13.162_8848-b8d5843e-c53f-4526-bfd4-9765f14f40c0] INFO c.a.n.c.c.i.ClientWorker[0] - [run,522] - get changedGroupKeys:[]
22:05:26.948 [com.alibaba.nacos.client.Worker.longPolling.fixed-8.129.13.162_8848-b8d5843e-c53f-4526-bfd4-9765f14f40c0] INFO c.a.n.c.c.i.ClientWorker[0] - [run,522] - get changedGroupKeys:[]
22:05:56.452 [com.alibaba.nacos.client.Worker.longPolling.fixed-8.129.13.162_8848-b8d5843e-c53f-4526-bfd4-9765f14f40c0] INFO c.a.n.c.c.i.ClientWorker[0] - [run,522] - get changedGroupKeys:[]
22:06:25.956 [com.alibaba.nacos.client.Worker.longPolling.fixed-8.129.13.162_8848-b8d5843e-c53f-4526-bfd4-9765f14f40c0] INFO c.a.n.c.c.i.ClientWorker[0] - [run,522] - get changedGroupKeys:[]
22:06:55.460 [com.alibaba.nacos.client.Worker.longPolling.fixed-8.129.13.162_8848-b8d5843e-c53f-4526-bfd4-9765f14f40c0] INFO c.a.n.c.c.i.ClientWorker[0] - [run,522] - get changedGroupKeys:[]
22:07:24.964 [com.alibaba.nacos.client.Worker.longPolling.fixed-8.129.13.162_8848-b8d5843e-c53f-4526-bfd4-9765f14f40c0] INFO c.a.n.c.c.i.ClientWorker[0] - [run,522] - get changedGroupKeys:[]
日志的简要介绍
通过对每个服务节点以关键字信息筛选项目在运行时控制台所输出的信息进行收集,每次通过pai查询应用日志,都会显示其中最新的100条信息。
四、删除部署
1、删除后端工程应用
通过pai进行远端 Kubernetes 中的应用进行删除,执行过程为:
- 根据项目名称拉取代码
- 通过项目源代码中的
Deployment.yaml
及Service.yaml
进行应用、服务删除
D:\home\pai-example>pai delete -n pai-example
pai-uims应用已从Kubernetes中删除(Deployment + Service
文档更新时间: 2024-03-25 11:23 作者:姚连洲