9. 云K8S集群部署SpringBoot项目实战
阿里云Linux CentOS 7.X服务器,安装好JDK11、Maven、Docker。代码上传阿里云服务器,maven打包,docker构建镜像。**K8S部署SpringBoot项目 : **步骤一:登录私有镜像仓,拉取镜像。步骤二:创建deployment。推送构建好的镜像到私有镜像仓库。**部署环境和流程 : **步骤三:暴露服务访问端口即可。K8S部署服务对外暴露服务。
·
-
**部署环境和流程 : **
-
阿里云Linux CentOS 7.X服务器,安装好JDK11、Maven、Docker
-
代码上传阿里云服务器,maven打包,docker构建镜像
-
推送构建好的镜像到私有镜像仓库
-
K8S部署服务对外暴露服务
-
安装Docker
-
安装JDK11
Download the Latest Java LTS Free
- 将
jdk-11.0.23_linux-x64_bin.tar.gz
上传至目录/usr/local/software/
- 解压
tar -zxvf jdk-11.0.23_linux-x64_bin.tar.gz
( 记得进入此目录 ) - 重命名
mv jdk-11.0.23 jdk11
- 添加环境变量
vi /etc/profile
JAVA_HOME=/usr/local/software/jdk11
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
- 使环境变量生效
source /etc/profile
- 查看JDK版本
java -version
- 安装Maven
Index of /dist/maven/maven-3/3.6.3/binaries
- 将
apache-maven-3.6.3-bin.tar.gz
上传至目录/usr/local/software/
- 解压
tar -zxvf apache-maven-3.6.3-bin.tar.gz
( 记得进入此目录 ) - 重命名
mv apache-maven-3.6.3 maven-3.6.3
- 修改环境变量 :
vi /etc/profile
MAVEN_HOME=/usr/local/software/maven-3.6.3
PATH=$PATH:$MAVEN_HOME/bin
export PATH JAVA_HOME CLASSPATH MAVEN_HOME
# 上面这条命令覆盖前面部署JDK的那条
- 使环境变量生效
source /etc/profile
- 查看Maven版本
mvn -v
- **SpringBoot项目构建和打包Docker镜像 : **
- 在
idea
中将项目打包成jar
包后上传服务器 - 同时编写对应的
Dockerfile
文件
FROM adoptopenjdk/openjdk11:jre11u-nightly
LABEL maintainer=ccoio
COPY springboot-demo.jar /springboot-demo.jar
ENTRYPOINT ["java","-jar","/springboot-demo.jar"]
- 进入当前
springboot-demo
目录进行镜像打包
docker build -t springboot-demo:1.0.0 . # 记得后面有个点 .
- 启动
docker run -d -it -p 8080:8080 --name=springboot-demo springboot-demo:1.0.0
- 查看日志
docker logs -f springboot-demo
- 删除容器
docker rm -f springboot-demo
- **私有镜像仓库镜像推送 : **
- 登录镜像仓库 :
docker login
username : ccoio
password : quan20040210
- 为镜像打标签 :
docker tag springboot-demo:1.0.0 ccoio/ccoio:springboot-demo.1.0.0
- 推送镜像 :
docker push ccoio/ccoio:springboot-demo.1.0.0
- **番外 : **
- 拉取镜像 :
docker pull ccoio/ccoio:springboot-demo.1.0.0
- 启动容器 :
docker run -d --name springboot-demo -p 8080:8080 ccoio/ccoio:springboot-demo.1.0.0
- 查看日志 :
docker logs -f springboot-demo
-
**K8S部署SpringBoot项目 : **
-
步骤一:登录私有镜像仓,拉取镜像
-
步骤二:创建deployment
-
步骤三:暴露服务访问端口即可
- **创建secret : **
kubectl create secret docker-registry xdclass-docker-secret --docker-server=https://index.docker.io/v1/ --docker-username=ccoio --docker-password=quan20040210
- **创建deployment : **
kubectl create deployment k8sdemo --image=https://hub.docker.com/layers/ccoio/ccoio/springboot-demo.1.0.0 --dry-run=client -o yaml > xdclass-k8s.yaml
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: xdclass-docker-secret
containers:
- image: https://hub.docker.com/layers/ccoio/ccoio/springboot-demo.1.0.0
name: xdclass-k8s
resources: {}
status: {}
- 创建delpoyment控制器 :
**kubectl apply -f xdclass-k8s.yaml**
- **暴露端口 : **
**kubectl expose deploy k8sdemo --port=8080 --target-port=8080 --type=NodePort**
- **访问 :
**curl ip+port**
- ****192.168.100.150:8080/v1/test**
- **查看日志 :
**kubectl get pod -o wide**
- ****kubectl exec -it k8sdemo -- /bin/sh**
更多推荐
已为社区贡献4条内容
所有评论(0)