(十)服务器K8S集群部署SpringBoot项目实战

news/2024/2/27 23:58:13

1.准备springboot项目

可以在 https://start.spring.io/网站准备一个项目,这里作为k8s的学习所以springboot项目中准备一个简单的访问接口即可。
在这里插入图片描述

2.服务器环境准备

安装Jdk

1.更新系统软件包:

sudo yum update

2.安装 OpenJDK 11:

sudo yum install java-11-openjdk-devel

3.验证 Java 安装:

java -version

在这里插入图片描述
4.配置环境变量

vim /etc/profile
#JAVA_HOME 的内容根据具体安装jdk的路径替换
JAVA_HOME=/usr/lib/jvm/java-11-openjdk
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

5.使环境变量生效

source /etc/profile

安装Maven

1.可以在 https://dlcdn.apache.org/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.zip 网站下载3.5.4版本(或者https://maven.apache.org/download.cgi 下载自己需要的版本),上传到服务器 /usr/local/software/ 目录下
2.安装 unzip 命令

yum install unzip -y

3.解压

unzip apache-maven-3.5.4-bin.zip

修改名称

mv apache-maven-3.5.4 maven3.5

4.配置环境变量

vim /etc/profile
JAVA_HOME=/usr/lib/jvm/java-11-openjdk
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
MAVEN_HOME=/usr/local/software/maven3.5
PATH=$PATH:$MAVEN_HOME/bin
export PATH JAVA_HOME CLASSPATH MAVEN_HOME

5.使环境变量生效

source /etc/profile

3.springboot项目构建和打包docker

1.将打包文件名设置成 demo
在springboot项目中的pom文件中设置finalName

在这里插入图片描述
2.添加Dockerfile文件,文件放在项目跟目录下
在这里插入图片描述
Dockerfile文件

FROM adoptopenjdk/openjdk11:jre11u-nightlyADD target/demo.jar demo.jarENTRYPOINT ["java","-jar","/demo.jar"]

3.上传springboot项目到服务器进入到根目录打包

执行命令

mvn clean install

构建镜像(不要忽略最后的一个点)

docker build -t demo:1.0 .

查看镜像列表

docker images

启动

docker run -d -it -p 8080:8080 --name=k8sdemo demo:1.0

4.镜像推送(阿里云举例)

阿里云账号访问地址
https://cr.console.aliyun.com/
仓库的创建这里不做赘述,自行百度(个人版不收费)

推送私有镜像仓

#仓库地址根据自己的地址替换
docker login --username=gq570566 registry.cn-shenzhen.aliyuncs.com
#打tag
#docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/fqfff/demo:[镜像版本号]
docker tag ba0652a92214 registry.cn-hangzhou.aliyuncs.com/fqfff/demo:1.0#推送
#docker push registry.cn-hangzhou.aliyuncs.com/fqfff/demo:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/fqfff/demo:1.0
#拉取
docker pull registry.cn-hangzhou.aliyuncs.com/fqfff/demo:[镜像版本号]

5.K8s部署SpringBoot项目

创建secert

#kubectl create secret docker-registry demo-docker-secret --docker-server=registry.cn-hangzhou.aliyuncs.com --docker-username=用户名 --docker-password=登录密码kubectl create secret docker-registry demo-docker-secret --docker-server=registry.cn-hangzhou.aliyuncs.com --docker-username=gq570566--docker-password=*****

创建k8sdemo-deployment的yaml文件

快速生成yaml文件方式

kubectl create deployment k8sdemo --image=registry.cn-hangzhou.aliyuncs.com/fqfff/demo:1.0 --dry-run=client -o yaml > demo-k8s.yaml

修改副本数量为 2,挂载 secret

apiVersion: apps/v1
kind: Deployment
metadata:creationTimestamp: nulllabels:app: k8sdemoname: k8sdemo
spec:replicas: 2selector:matchLabels:app: k8sdemostrategy: {}template:metadata:creationTimestamp: nulllabels:app: k8sdemospec:imagePullSecrets:- name: demo-docker-secretcontainers:- image: registry.cn-hangzhou.aliyuncs.com/fqfff/demo:1.0name: demo-k8sresources: {}
status: {}

创建控制器

kubectl apply -f demo-k8s.yaml

创建service, nodePort类型

kubectl expose deploy k8sdemo --port=8080 --target-port=8080 --type=NodePort

测试访问

查看端口

kubectl get svc

在这里插入图片描述
访问 节点ip+端口+接口地址
在这里插入图片描述

成功!


http://www.ppmy.cn/news/226289.html

相关文章

搜索算法(四) 广度优先搜素算法

一、BFS bfs一层一层地遍历图或树,一般用队列实现,可以计算距离目标的步数。 二、例题 1) 力扣https://leetcode.cn/problems/shortest-bridge/ 这道题实际是计算两个岛屿之间的最短距离,可以先用dfs搜索到第一个岛屿并且记录第…

图片归一化

图片归一化是指将图片的像素值进行缩放,使其在像素值范围内分布均匀,从而使得不同图片的像素值分布相似,方便进行比较和处理。具体来说,图片归一化可以帮助我们: 1. 提高模型的鲁棒性:在深度学习中&#x…

如何批量修改mysql数据库表的字段类型 sql语句

可以使用以下SQL语句批量修改MySQL数据库表的字段类型: sql ALTER TABLE table_name MODIFY COLUMN column1_name new_data_type1, MODIFY COLUMN column2_name new_data_type2, MODIFY COLUMN column3_name new_data_type3, …; 其中,table_name为需要…

[VRFC 10-3180] cannot find port ‘EN_Sig‘ on this module

我遇到的原因是下面的第二条 https://blog.csdn.net/jerwey/article/details/105649213 https://blog.csdn.net/qq_31806049/article/details/123479931

Failed assertion: line 3180 pos 12: ‘debugNeedsPaint‘: is not true

进行flutter 点击截图 调用第一次截图方法报错 Failed assertion: line 3180 pos 12: ‘debugNeedsPaint’: is not true. flutter: package:flutter/src/rendering/proxy_box.dart: Failed assertion: line 3180 pos 12: !debugNeedsPaint: is not true.解决方案: 在调用截图…

ERROR: [VREC 10-3180]解决方法

从别的工程下拷了一个fir_complier的IP核,也update了,看着都没什么问题,但run simulation的时候一直报错ERROR: [VREC 10-3180] 说是aresetn接口不存在,我再三核对,确实例化aresetn接口,而且它自己生成的ve…

rtx3080ti参数 rtx3080ti显卡什么水平 rtx3080ti显卡什么级别

rtx3080ti是中高端显卡 RTX3080Ti的规格和RTX3090已经非常接近了,主要区别就在于最影响性能的核心数量上,RTX3090内置10496个CUDA核心,RTX3080Ti则内置了10240个,少了256个CUDA核心。 我用的显卡就是活动时8折抢购的太给力了 http…

rtx3080ti参数 RTX 3080Ti 评测

外观方面,GeForce RTX 3080 Ti GPU与GeForce RTX 3080的外观一致,虽然简约,但却不失时尚感。大面积的散热鳍片加上双槽双轴流推挽式散热技术,可以在机箱内形成独立的风道,排出GPU核心的热量,在机箱内几乎听…

stata根据经纬度生成空间权重矩阵

实用 clear all cd C:\desk\2019全国行政区划use 284个城市经纬度.dta, clear//(1)计算01矩阵,此方法不靠谱,建议gis加geodaspatwmat, name(W01) xcoord(lon1) ycoord(lat1) band(0 12) binary //加standardize为标准化matlist W…

vivado下ERROR: [USF-XSim-62] [VRFC 10-3180]

ERROR: [USF-XSim-62] ‘elaborate’ step failed with error(s). Please check the Tcl console output or ‘C:/workplace/VIVADO/resize/resize.sim/sim_1/behav/xsim/elaborate.log’ file for more information. elaborate.log内容:ERROR: [VRFC 10-3180] can…

vivado关于添加IP后错误提示[VRFC 10-3180]

vivado关于添加IP后错误提示[VRFC 10-3180] [VRFC 10-3180] 错误提示大致内容是“cannot find port xxx on this module”,找不到定义的端口。添加IP核后出现这类错误提示大概率是因为有IP核重名了,如果正常添加系统自带IP核的话即便是有重名也会有提示…

vivado 仿真behavior simulation 报错[VRFC 10-3180]cannot find port ‘reset_on’ on this module

我出现这个错误的原因是block design 加了pin脚后没有选择右键generate output products 导致的,重新点击这个,再create HDL wrapper 就好了 下面的是其他原因导致的,大家根据自己情况参考下 vivado关于添加IP后错误提示[VRFC 10-3180]_BOZ…

Pandas简单写入数据到csv文件

import pandas as pddf pd.DataFrame({"学院":["电子学院","机电学院","大数据学院","软件学院","网络学院"],"2017年":[1320,1351,2251,3178,2151],"2018年":[1323,1402,2202,3180,2190],&…

fpga vivado 错误总结(本人遇到以及改正)

[Common 17-48] File not found:********ethernet_test.ltx 造成的原因以及改正:把一个芯片自带的时钟写进别的模块里了,可以生成比特流文件,但是不能少烧进板子里面。我当时是ip核生成的时钟,报错了。关掉文件,从新打…

【System.Data.SQLite引用报错相关】

SQLite引用报错相关 参考链接问题SQLite下载地址操作结果 参考链接 参考链接 https://www.mzwu.com/article.asp?id3180 问题 DllNotFoundException: 无法加载 DLL“SQLite.Interop.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。 SQLite下载地址 System.Da…

JVM学习笔记二

1. JVM内存参数 要求 熟悉常见的 JVM 参数,尤其和大小相关的 堆内存,按大小设置 解释: -Xms 最小堆内存(包括新生代和老年代) -Xmx 最大堆内存(包括新生代和老年代) 通常建议将 -Xms 与 -…

poj 3180

题目好长好啰嗦。。。其实是水题一道&#xff0c;就是找出结点数大于1的强连通分量的个数。此处用tarjan实现。 以下是代码&#xff1a; #include<cstdio>#include<cstring>#include<iostream>using namespace std;const int N30000;const int M70000;struct…

磨砂串口服务器型号,moxa串口服务器3180配置

moxa串口服务器3180配置 内容精选 换一换 有以下几种现象:将制作好的SD卡插入开发者板并上电后,开发者板LED1与LED2灯状态信息异常。将制作好的SD卡插入开发者板,并通过USB方式连接Ubuntu服务器,上电、开发者板启动完成后,Ubuntu服务器无虚拟网卡信息。将制作好的SD卡插入…

verilog开发调试入门

verilog开发调试入门 日常踩坑&#xff0c;记录调试经验&#xff0c;希望帮到初学者 *2022/09/26 非阻塞赋值 注意在时序电路内部使用 < 仿真波形不动 检查代码无误后&#xff0c;考虑分频间隔过大&#xff0c;仿真长度不够&#xff08;憨憨落泪 上板 生成比特流失败…

rk3288-camera-ov13850

调过camera做一个总结 1.在一款RK3128上面实现了一个摄像头:YHX2155 //kernel/arch/arm/boot/dts/rk3128-cif-sensor.dtsi +++++++gc2155{status = "okay";is_front = <1>;rockchip,powerdown = <&gpio3 GPIO_B3 GPIO_ACTIVE_HIGH>;pwdn_active …
最新文章