springboot 部署k8s(一)

这篇具有很好参考价值的文章主要介绍了springboot 部署k8s(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系列文章目录


 


目录

系列文章目录

前言

一、IDEA 工程目录

二、pom.xml

1.代码如下

2.Dockerfile

3.Controller 代码

4. 打包操作 

5 打包镜像

6 镜像打tag

7 push镜像到容器里

 8 验证是否上传成功

总结


前言

本系列教程将分2篇文章讲解,怎么部署springboot 到k8s 上。

第一篇:springboot 准备,这里包括打包镜像。

第二篇:springboot 镜像部署到k8s, 我们将使用deployment ,service 用最简单的方式deploy k8s.


一、IDEA 工程目录

springboot 部署k8s(一)

二、pom.xml

1.代码如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.10</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>k8s-springboot2</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>k8s-springboot2</name>
    <description>k8s-springboot2</description>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
这是最简单的springboot引入方式, 我只引入了一个web模块,直接可以在浏览器打印一段话, 方便测试。

2.Dockerfile

代码如下(示例):

FROM openjdk:8-jdk-alpine
ADD ./target/*.jar  /app.jar
ENTRYPOINT ["java","-jar","app.jar"]

直接复制即可,这里面*代表生成的jar名字, 用*代替为了以后维护方便。


3.Controller 代码

package com.example.k8sspringboot2.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping(value = "/test")
public class TestController {

    @GetMapping(value = "/search")
    public String doTest(){
        System.out.println("this is a test");

        return "success";
    }

}

 这里面非常简单定义一个controller, 用浏览器直接访问

http://localhost:8080/test/search 直接返回 success 字符串

4. 打包操作 

springboot 部署k8s(一)

 直接点击package 选项,可以直接在target文件夹里生成jar包。

springboot 部署k8s(一)

5 打包镜像

进入项目根目录,我的是springboot 部署k8s(一)

springboot 部署k8s(一)

开始打包操作

Docker build -t   webapp3.0   .

springboot 部署k8s(一)

  镜像名称 可以自己定义镜像名字,我的镜像名字是webapp3.0. 别忘了 .

  我的机器已经安装docker desktop

6 镜像打tag

docker  tag webapp3.0  yaobo2816/springboot-webapp3.0:v2

1.首先登录你的docker 账号里  docker login,

2. 开始打tag, 比如我想打成v2版本

7 push镜像到容器里

docker push yaobo2816/springboot-webapp3.0:v2

springboot 部署k8s(一)

 8 验证是否上传成功

   springboot 部署k8s(一)

本地测试一下,远程镜像是否可以正常启动。

springboot 部署k8s(一)

docker run --name springboot1  -p 8085:8080  yaobo2816/springboot-webapp3.0

 http://localhost:8085/test/search

springboot 部署k8s(一)

总结

这里面springboot 已经可以打包镜像了,下一篇将部署到k8s.

gitee: https://gitee.com/yaobo2816/springboot-deploy-k8s文章来源地址https://www.toymoban.com/news/detail-410266.html

到了这里,关于springboot 部署k8s(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K8S系列文章 之 容器存储基础 Volume

    Volume是容器数据卷。我们经常创建删除一些容器,但有时候需要保留容器中的一些数据,这时候就用到了Volume。它也是容器之间数据共享的技术,可以将容器中产生的数据同步到本地。实际就是把容器中的目录挂载到运行着容器的服务器或个人电脑上。 第一种挂载volume的方式

    2024年02月13日
    浏览(31)
  • K8S系列文章之 Docker安装使用Kafka

    通过Docker拉取镜像的方式进行安装 照例先去DockerHub找一下镜像源,看下官方提供的基本操作(大部分时候官方教程比网上的要清晰一些,并且大部分教程可能也是翻译的官方的操作步骤,所以直接看官方的就行) 老实说Kafka的参数配置项太多了,比较繁琐。 如果是Linux环境下

    2024年02月13日
    浏览(39)
  • K8S系列文章之 开源的堡垒机 jumpserver

    一、jumpserver作为一款开源的堡垒机,不管是企业还是个人,我觉得都是比较合适的,而且使用也比较简单。 二、这里记录一下安装和使用过程。 1、安装,直接docker不是就行 目前没有看到3版本的,3版本的功能更加强大,可以官网学习一下。 2、使用 资产添加不用细讲,主要

    2024年02月14日
    浏览(39)
  • K8S系列文章之 Shell批处理脚本应用

    1、批处理脚本介绍 命令批处理脚本:/usr/shell/all.sh 文件批量分发脚本:/usr/shell/scp.sh 2、 批处理命令脚本原理 读取/usr/shell/hosts文件中的ip列表 使用$*接收脚本所有参数 for循环遍历hosts文件中的ip地址 通过ssh host cmd 实现目的ip命令 eval命令判断并打印命令执行结果 for循环遍历

    2024年02月13日
    浏览(40)
  • K8S系列文章 之 容器网络基础 Docker0

    使用 ip addr 命令看一下网卡: 其中lo是本地回环地址,docker0就是docker0地址,也就是docker的地址172.17.0.1。 docker使用的是桥接模式,使用的技术是evth-pair技术,后面会解释。 比如有两个容器,容器A要去访问容器B,该如何访问?使用127.0.0.1吗?还是写docker0地址? 我们运行起一

    2024年02月14日
    浏览(61)
  • K8S系列文章之 自动化运维利器 Ansible

    第一步:安装我们的epel扩展源 我这里会报/var/run/yum.pid 已被锁定,如果没有直接进行下一步 解决方法:删除/var/run/yum.pid,即 rm -rf /var/run/yum.pid ,重新执行第一步 第二步:安装 ansible 如果还报/var/run/yum.pid 已被锁定,还是直接进行删除,然后重新执行 yum -y install ansible 第三

    2024年02月13日
    浏览(65)
  • K8S系列文章之 自动化运维利器 Fabric

    Fabric 主要用在应用部署与系统管理等任务的自动化,简单轻量级,提供有丰富的 SSH 扩展接口。在 Fabric 1.x 版本中,它混杂了本地及远程两类功能;但自 Fabric 2.x 版本起,它分离出了独立的 Invoke 库,来处理本地的自动化任务,而 Fabric 则聚焦于远程与网络层面的任务。 为了

    2024年02月14日
    浏览(63)
  • K8S系列文章之 离线安装自动化工具Ansible

    参考 文档 离线安装 Ansible - DevOps - dbaselife 一、Ansible简介 Ansible是一款开源的IT配置管理工具,常被IT界的小伙伴们用于自动化的场景,多用在服务部署、配置管理方面。配置文件采用最常见的yaml格式,学习起来也是比较容易,Ansible并不需要也没有agent,只有一个控制端。该

    2024年02月14日
    浏览(49)
  • 【k8s完整实战教程0】前言

    系列文章:这个系列已完结,如对您有帮助,求点赞收藏评论。 读者寄语: 再小的帆,也能远航! 【k8s完整实战教程0】前言 【k8s完整实战教程1】源码管理-Coding 【k8s完整实战教程2】腾讯云搭建k8s托管集群 【k8s完整实战教程3】k8s集群部署kubesphere 【k8s完整实战教程4】使用

    2023年04月24日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包