Ch11 k8s deployment

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

构建完成会多出一个target,在源码中是没有这个target

target里面有一个jar包,这个就是我们部署的包,打包到镜像中部署到k8s中

image-20220820234226913

Dockerfile:

FROM java:8-jdk-alpine
COPY ./target/app.jar ./
EXPOSE 8088
CMD java -jar /app.jar
1
2
3
4
docker build -t dbservice:1.0.0 .

1
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

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
Last Updated: 11/19/2024, 1:54:38 PM