Docker构建镜像到K8s部署并测试吞吐量

环境

构建镜像环境:windows10 + docker for windows
K8s环境:CentOS7

步骤1
准备
打包一个jar,新建Dockerfile文件
在这里插入图片描述
在这里插入图片描述
编写Dockerfile文件 注:程序配置文件里端口号和这里的端口号对应上
在这里插入图片描述
步骤2
构建镜像并push到私库
Dockerfile文件目录下打开cmd
在这里插入图片描述
构建镜像 注:最后的 . 表示 Dockerfile 文件在当前目录下

docker build -t my/demo8088 .

构建成功

运行镜像并测试

docker run -p 8088:8088 -t -i my/demo8088

在这里插入图片描述
在这里插入图片描述
登录自己的docker账号(我这里是保存了账号密码)

docker login

在这里插入图片描述
访问https://hub.docker.com/repositories查看自己的私库
在这里插入图片描述
重命名镜像

docker tag eea43fc2a946 caijie41736081/demo8088

注:eea43fc2a946为镜像ID,修改的镜像名称为 私库名/自定义镜像名
在这里插入图片描述
push到私库

docker push caijie41736081/demo8088

push成功,在私库里查看
在这里插入图片描述
步骤3
搭建k8s集群环境
参考《CentOS7 部署K8S集群》

步骤4
安装水平自动扩容、缩容相关插件
参考K8S-安装metric-server插件

测试一
docker运行demo8090
登录docker
在这里插入图片描述
拉取私库demo8090项目

docker pull caijie41736081/demo8090

在这里插入图片描述
运行demo8090镜像

docker run -p 8089:8089 -t -i caijie41736081/demo8090

访问成功
在这里插入图片描述
使用HP LoadRunner测试
在这里插入图片描述

测试二
k8s部署运行demo8090
master上创建yaml文件,放到任意文件夹下

apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo8090-deployment
  labels:
    app: demo8090
spec:
  replicas: 1 #设置pod副本数量
  revisionHistoryLimit: 10 #设置保留的历史版本个数,默认是10
  selector:
    matchLabels:
      app: demo8090
  template:
    metadata:
      labels:
        app: demo8090
    spec:
      containers:
      - name: demo8090
        image: caijie41736081/demo8090
        #imagePullPolicy: Never
        ports:
        - containerPort: 8089
        resources:
          requests:
            memory: "200Mi"
            cpu: "100m"
          limits:
            memory: "600Mi"
            cpu: "300m"
---
kind: Service
apiVersion: v1
metadata:
  labels:
    app: demo8090-deployment
  name: demo8090-deployment-service
spec:
  ports:
    - port: 8089
      targetPort: 8089
      name: http
      nodePort: 30005
  selector:
    app: demo8090
  type: NodePort

在文件夹下执行,创建部署

kubectl apply -f demo8090-deployment.yaml

在这里插入图片描述
创建自动扩容

kubectl autoscale deployment demo8090-deployment --min=1 --max=15 --cpu-percent=20

在这里插入图片描述
访问成功
在这里插入图片描述
开始压力测试,查看日志
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐