• 4-k8s-部署springboot项目简单实践


    一、部署原理图

    1. 部门一般都有一个属于自己的私服gitlab服务器,由开发者开发代码,然后上传到私服gitlab
    2. 然后使用调度工具,如jenkins,去gitlab拉去代码,编译打包,最后得到一个jar包
    3. 得到的jar包,通过docker服务和编写好的Dockerfile文件,构建得到镜像
    4. 通过docker将镜像上传到harbor私服仓库
    5. 然后生产/测试环境,就可以在私服harbor服务器拉取镜像,进行部署
      在这里插入图片描述

    二、部署实践

    ps:由于还未搭建完整的devops流水线,所以这里主要简单手动模拟下打包镜像,上传镜像,拉去镜像部署的操作

    1. 准备好简单的springboot项目:docker.jar

    2. 编写Dockerfile文件

      FROM java:8
      VOLUME /tmp
      ADD docker.jar docker.jar
      RUN bash -c 'touch /docker.jar'
      ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/docker.jar"]
      
      • 1
      • 2
      • 3
      • 4
      • 5
    3. 打包镜像:docker build . -t springboot-docker:v1

    4. 修改镜像标签:docker tag 5bea28f6b514 192.168.248.12:180/myresponsity/springboot-docker:v1

    5. 登录并且输入账号密码:docker login 192.168.248.12:180

    6. 上传镜像:docker push 192.168.248.12:180/myresponsity/springboot-docker:v1

    7. 编写k8s配置文件:vi /opt/springboot-docker.yaml

      ps:由于仓库是公开的,所以不需要设置私服harbor的账号密码

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: sptest
        labels:
          controller: deploy 
      spec:
        replicas: 1
        selector:
          matchLabels:
            app: sptest
        template:
          metadata:
            labels:
              app: sptest
          spec:
            containers:
              - name: k8stest
                image: 192.168.248.12:180/myresponsity/springboot-docker:v1
                ports:
                  - name: k8stest-port
                    containerPort: 8080
                    protocol: TCP
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
    8. 启动pod:kubectl apply -f /opt/springboot-docker.yaml

    9. 暴露端口:kubectl expose deployment sptest --name=sptest-service --type=NodePort --port=8080 --target-port=8080

    10. 查看端口: kubectl get svc -n springboot
      在这里插入图片描述

    11. 访问:http://192.168.248.12:32367/
      在这里插入图片描述

  • 相关阅读:
    华为OD:敏感字段加密
    九、Spring Boot 缓存(3)
    Opensips安装配置(以下操作均已centOS 6.3系统为准)
    SpringMvc源码分析-请求流程(一)
    Linux动态库与静态库
    Java刷题面试系列习题(三)
    网站优化搜索引擎与关键词
    ITIL 4指导、计划和改进—评估和计划
    14-Linux之yum软件管理
    20221120
  • 原文地址:https://blog.csdn.net/weixin_40496191/article/details/133870282