1.準(zhǔn)備springboot項目
可以在 https://start.spring.io/網(wǎng)站準(zhǔn)備一個項目,這里作為k8s的學(xué)習(xí)所以springboot項目中準(zhǔn)備一個簡單的訪問接口即可。
2.服務(wù)器環(huán)境準(zhǔn)備
安裝Jdk
1.更新系統(tǒng)軟件包:
sudo yum update
2.安裝 OpenJDK 11:
sudo yum install java-11-openjdk-devel
3.驗證 Java 安裝:
java -version
4.配置環(huán)境變量
vim /etc/profile
#JAVA_HOME 的內(nèi)容根據(jù)具體安裝jdk的路徑替換
JAVA_HOME=/usr/lib/jvm/java-11-openjdk
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
5.使環(huán)境變量生效
source /etc/profile
安裝Maven
1.可以在 https://dlcdn.apache.org/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.zip 網(wǎng)站下載3.5.4版本(或者h(yuǎn)ttps://maven.apache.org/download.cgi 下載自己需要的版本),上傳到服務(wù)器 /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.配置環(huán)境變量
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.使環(huán)境變量生效
source /etc/profile
3.springboot項目構(gòu)建和打包docker
1.將打包文件名設(shè)置成 demo
在springboot項目中的pom文件中設(shè)置finalName
2.添加Dockerfile文件,文件放在項目跟目錄下
Dockerfile文件
FROM adoptopenjdk/openjdk11:jre11u-nightly
ADD target/demo.jar demo.jar
ENTRYPOINT ["java","-jar","/demo.jar"]
3.上傳springboot項目到服務(wù)器進(jìn)入到根目錄打包
執(zhí)行命令
mvn clean install
構(gòu)建鏡像(不要忽略最后的一個點)
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/
倉庫的創(chuàng)建這里不做贅述,自行百度(個人版不收費(fèi))
推送私有鏡像倉
#倉庫地址根據(jù)自己的地址替換
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項目
創(chuàng)建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=*****
創(chuàng)建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
修改副本數(shù)量為 2,掛載 secret
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: k8sdemo
name: k8sdemo
spec:
replicas: 2
selector:
matchLabels:
app: k8sdemo
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: k8sdemo
spec:
imagePullSecrets:
- name: demo-docker-secret
containers:
- image: registry.cn-hangzhou.aliyuncs.com/fqfff/demo:1.0
name: demo-k8s
resources: {}
status: {}
創(chuàng)建控制器
kubectl apply -f demo-k8s.yaml
創(chuàng)建service, nodePort類型
kubectl expose deploy k8sdemo --port=8080 --target-port=8080 --type=NodePort
測試訪問
查看端口
kubectl get svc
訪問 節(jié)點ip+端口+接口地址文章來源:http://www.zghlxwxcb.cn/news/detail-653624.html
成功!文章來源地址http://www.zghlxwxcb.cn/news/detail-653624.html
到了這里,關(guān)于(十)服務(wù)器K8S集群部署SpringBoot項目實戰(zhàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!