minikube(k8s)部署spring boot项目(一)

教程分享 > Java教程 > Spring > 博文分享 (1923) 2025-07-18 10:58:46

环境准备

minikube 安装,参考minikube k8s 安装详细教程

spring boot demo项目一个

spring boot项目

maven 主要依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>


构建主要配置,配置一个打包后的名称:
打包名称

项目主要内容,一个文件 

package net.ifok.demo.k8s;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.net.InetAddress;
import java.net.UnknownHostException;

@RestController
@SpringBootApplication
public class DemoK8sApplication {

    @GetMapping("/info")
    public String getInfo() throws UnknownHostException {
        InetAddress addr = InetAddress.getLocalHost();
        String address = addr.getHostAddress();
        String hostName= addr.getHostName();
        return System.getProperty("os.name")+":"+address+":"+hostName;
    }

    public static void main(String[] args) {
        SpringApplication.run(DemoK8sApplication.class, args);
    }

}


Get请求,返回一个信息

构建docker镜像


首先将上面的spring boot项目打包为一个jar文件
k8s-boot-app.jar

创建Dockerfile

FROM openjdk:8-alpine
#更新Alpine的软件源为国内(清华大学)
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/main/" > /etc/apk/repositories

RUN apk update \
        && apk upgrade \
        && apk add --no-cache bash \
        bash-doc \
        bash-completion \
        && rm -rf /var/cache/apk/* \
        && /bin/bash
ADD k8s-boot-app.jar /
EXPOSE 8080
CMD ["java","-Xms256M","-Xmx256M","-Duser.timezone=Asia/ShangHai", "-jar", "/k8s-boot-app.jar"]


将dockerfile和项目文件上传到Linux服务器上的一个目录。接下来进行docker镜像构建

sudo docker build -t k8s-boot-app:1.0 ./


构建完成后可以通过命令查看

sudo docker images

编写k8s deployment配置文件

k8s-boot-app-deployment.yml

 

登录后查阅

此处内容需登录后查阅(刷新)

登录/注册

部署spring boot项目到k8s


部署命令:

sudo kubectl create -f ./k8s-boot-app-deployment.yml


查看deployment信息

sudo kubectl get deployments


开放访问端口

sudo kubectl expose deployment k8s-boot-app-deployment --type=NodePort


查看开放端口的服务信息

sudo kubectl get services


查看部署的prod信息

sudo kubectl get pods


查看某个prod的日志信息

sudo kubectl logs -f springboot-k8s-template-deployment-687f8bf86d-lcq5p

提示:springboot-k8s-template-deployment-687f8bf86d-lcq5p 为上面查询到的prod名称


获取访问url地址

sudo minikube service k8s-boot-app-deployment --url

获取访问地址

浏览器打开访问接口

接口访问

查看k8s的仪表盘

deployment信息
deployment信息

prod信息
prod信息

其他命令:

sudo kubectl create -f ./k8s-boot-app-deployment.yml #部署k8s应用
sudo kubectl get deployments #查看deployment信息

sudo kubectl expose deployment k8s-boot-app-deployment --type=NodePort #开放端口访问
sudo kubectl get services #查看services信息,如端口映射情况
sudo kubectl delete service nginx-service #删除service

sudo kubectl get pods #获取部署的prod列表信息
sudo kubectl logs -f springboot-k8s-template-deployment-687f8bf86d-lcq5p #查看某个pod的日志

sudo minikube service k8s-boot-app-deployment --url #获取访问url

sudo kubectl delete -f ./k8s-boot-app-deployment.yml #删除服务

 


下一期讲解如何通过服务指定端口访问项目

 

 


相关文章
环境准备minikube 安装,参考minikube k8s 安装详细教程spring boot demo项目一个spring boot项目 maven 主要依赖 &lt;depe...
接上篇文章minikube(k8s)部署spring boot项目(一)上篇文章讲解了k8s部署spring boot demo项目的一部分,本文主要讲解如何将服务暴露指定的端口给外部调用
环境本次minikube安装环境为Ubuntu 18.04.6 LTS安装docker-ce参考:Ubuntu 在线安装 Docker-左搜 (leftso.com)注意配置docker镜像地址...
罗技k375s优联配对默认情况下,K375s键盘的优联是f1那个键。由于某些原因被替换成为了蓝牙链接模式导致优联无法正常使用。这个时候需要下载一个软件 unifying250.exe(访问密码:...
概述本文主要对康佳(KONKA )最新推出的K520 500G版固态硬盘进行使用使用简单测评
超频三刀锋S85 VS 大镰刀S950m 小机箱使用散热效果对比。
i5 7600k七代Intel酷睿处理器,七代I5系列中最强处理器装机配置参考方案
idea2018配置Tomcat8热部署完整记录
小米蓝牙耳机air2s怎么样?需要注意防那些坑?首先来看看长啥样子小米蓝牙耳机air2s小米蓝牙耳机AIR2S外观篇耳机取出效果耳机盒子效果  小米蓝牙耳机 总结,从外观来看和上一代小米蓝牙耳机...
jenkins是devops神器,本篇文章介绍如何安装和使用jenkins部署Spring Boot项目jenkins搭建 部署分为三个步骤;第一步,jenkins安装第二步,插件安装和配置第三...
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel注意必须安装java-1.8.0-openjdk-devel,否则没有javac命令
spring boot项目打war包再部署到外部tomcat中
skywalking 是一款不错的java apm监控服务,比zipkin功能更强大,需要的服务器配置也更多一些
Spring Boot logback tomcat部署不生效问题解决
引言    通过之前spring boot mybatis 整合的讲解: spring boot mybaties整合  (spring boot mybaties 整合 基于Java注解方式写...