上章节对于yml文件整体做了说明,本章节就实际部署deployment来做测试;
目录:
- 环境准备(可以通过rancher搭建k8s环境,如果有一定基础可以自己搭建)
- 镜像准备(可采用其他的镜像)
- Deployment.yml 文件准备
- 部署
- 导入yml方式部署
环境准备:
我这里使用的是rancher环境(2.2)
镜像准备:
镜像查看:https://hub.docker.com/r/xiliangma/restapi
镜像源代码地址: https://github.com/xiliangMa/restapi
感兴趣的可以自己build
Deployment.yml
相关的Deployment.yml 文件可以在代码里找到
apiVersion: apps/v1 #api 接口
kind: Deployment #资源类型(建议不要单独写pod自己管理,这种事情可以交给deployment去做)
metadata:
name: restapi-deployment
spec:
replicas: 1 # 副本
selector:
matchLabels:
app: restapi
template:
metadata:
labels:
app: restapi
spec:
containers:
- name: restapi
image: xiliangma/restapi:latest #镜像配置(可采用其他的镜像,下面的端口需要自己修改)
imagePullPolicy: Always #拉取镜像策略
ports:
- name: dev
hostPort: 18080
containerPort: 8080
- name: prod
hostPort: 18088
containerPort: 8088
- name: https
hostPort: 1443
containerPort: 443
resources: #资源限制(感兴趣的同学可以看看cgroup的工作原理,这里只写了limits,还可以设置 request)
limits:
cpu: 1
memory: 1024Mi
部署:
选择集群 ---》 Default 项目----》 工作负载 ---》选择导入yml创建(也可以直接从文件读取)
此次我在Default下面创建了restapi命名空间,讲deployment部署在该空间下;
注意: rancher 在自己上面加了一层项目的概念;
很快你的deployment就会被拉起来,你能看到端口也被暴露出来了,可以通过主机的ip:port访问
好了到此,你的程序就在k8s集群上跑起来,后去还可以尝试添加 service,负载均衡等等;