Ch11 k8s deployment
Yang Haoran 4/17/2022 JavaSpring CloudK8s
# Ch11 k8s部署springCloud
https://zhuanlan.zhihu.com/p/448297704
# git
git clone xxx
1
安装maven, java
sudo apt install maven
1
使用maven构建项目
mvn clean package -D maven.test.skip=true -P prod
mvn clean package:清除目录中生成的结果,做一个清除,重新打新的包。
-D maven.test.skip: 跳过单元测试,写的测试用例,如果写的有问题,是编译不过去的
-P prod: 使用哪一套配置文件
[root@k8s-master simple-microservice-dev1]# mvn clean package -D maven.test.skip=true
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
构建完成会多出一个target,在源码中是没有这个target
target里面有一个jar包,这个就是我们部署的包,打包到镜像中部署到k8s中

Dockerfile:
FROM java:8-jdk-alpine
COPY ./target/app.jar ./
EXPOSE 8088
CMD java -jar /app.jar
1
2
3
4
2
3
4
docker build -t dbservice:1.0.0 .
1
2
2
在dockerhub上创建仓库:https://hub.docker.com/repository/docker/0yhr0/informationsystem/general
登录·:账号不是邮箱,是用户名0yhr0
docker login
1
docker tag dbservice:1.0.0 0yhr0/informationsystem:1.0.0
docker push 0yhr0/informationsystem:1.0.0
1
2
2
dbservice.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: dbservice
namespace: dev
spec:
replicas: 2
selector:
matchLabels:
run: dbservice
template:
metadata:
labels:
run: dbservice
spec:
containers:
- image: 0yhr0/informationsystem:1.0.0
name: dbservice
ports:
- containerPort: 8088
protocol: TCP
---
kind: Service
apiVersion: v1
metadata:
name: dbservice
namespace: dev
spec:
selector:
run: dbservice
type: NodePort
sessionAffinity: ClientIP
ports: # 端口信息
- protocol: TCP
port: 8088 # service端口
targetPort: 8088 # pod端口
nodePort: 31000 # 主机端口
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37