关键词:
开篇
基于前面的文章 CentOS7 使用 kubeadm 部署 K8s(单机/集群) 介绍了k8s的部署,接下来需要验证,本文选择通过一个简单的springboot 项目来验证。
springboot项目构建
springboot项目这里不过多介绍,主要介绍如何构建镜像及推送到镜像仓库
镜像构建
首先新建文件dockerfile
FROM openjdk:8-jdk-alpine
MAINTAINER cayden <cuiran2001@163.com>
#定义时区参数
ENV TZ=Asia/Shanghai
# 设置时区
RUN rm -rf /etc/localtime
RUN apk --no-cache add tzdata && \
ln -sv /usr/share/zoneinfo/$TZ /etc/localtime &&\
echo '$TZ' >/etc/timezone
RUN echo "export LANG=C.UTF-8" > /etc/profile.d/locale.sh
VOLUME /data/app
EXPOSE 8080
# 定义参数
ARG JAR_FILE=target/*.jar
ENV JAVA_OPTS=""
# 复制jar
COPY $JAR_FILE app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
#docker run -e "SPRING_PROFILES_ACTIVE=prod" -p 8080:8080 -t springio/gs-spring-boot-docker
进行build 操作
docker build -t cuiran2001/helloworld .
镜像推送
镜像推送至docker hub
docker push cuiran2001/helloworld:v1.1
推送显示如下 ,表示推送成功!
The push refers to repository [docker.io/cuiran2001/helloworld]
41140fae9ea6: Layer already exists
20efe8a47454: Layer already exists
4a749ec3afe9: Layer already exists
e64205be4795: Layer already exists
ceaf9e1ebef5: Layer already exists
9b9b7f3d56a0: Layer already exists
f1b5933fe4b5: Layer already exists
v1.1: digest: sha256:5c8fed1f1d2af902204aab0b04060db227a1c539f9750c22bbcae025777c3cfb size: 1782
可以到docker hub 上进行查看
k8s部署
模版文件准备
准备一个模板文件 testspringboot-rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: testspringboot #必选,资源名称
spec:
# 节点数,设置为多个可以实现负载均衡效果
replicas: 1
selector:
app: testspringboot
template:
metadata:
labels:
app: testspringboot
spec:
containers:
- name: helloworld
#镜像名
image: cuiran2001/helloworld:v1.1
#本地有镜像就不会去仓库拉取
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8080
配置说明:
kind:资源类型,详情见文末
metadata: 元数据,用于备注资源信息
spec: specification of the resource content 指定该资源的内容
selector: 选择器,将选择具有label标签的资源作为管理范围
template: 资源模版定义
containerPort: 容器暴露给 K8S 的端口
执行命令
kubectl create -f testspringboot-rc.yaml
暴露对外端口
1、创建 SVC 模板文件 testspringboot-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: testsvc
spec:
type: NodePort
ports:
- port: 8080
targetPort: 8080
# 节点暴露给外部的端口(范围必须为30000-32767)
nodePort: 30001
selector:
app: testspringboot
2、创建 Service
kubectl create -f testspringboot-svc.yaml
3、验证测试
访问http://xxxxx:30001 即可
k8s部署springboot项目
...印并且返回可以看到2个副本pod已经Running访问前需要先把springboot.demo.com域名添加到宿主机的/etc/hosts中保证可以正常解析到ingress-nginx那台机器上的nginx即可(不详可以看上一篇)请求接口:http://springboot.demo.com/k8s/hello?name=johnny查... 查看详情
k8s如何部署springboot项目
参考技术AK8S如何部署SpringBoot项目1:首先,需要安装docker环境,以及安装Harbor仓库2:安装K8S集群环境3:进行docker镜像的制作并上传到仓库4:进行容器的编排。启动至此就可以了。创建dockertest.yaml文件如下运行kubectlcreate-fdockertest.... 查看详情
k8s部署springboot项目(代码片段)
...署,接下来需要验证,本文选择通过一个简单的springboot项目来验证。springboot项目构建springboot项目这里不过多介绍,主要介绍如何构建镜像及推送到镜像仓库镜像构建首先新建文件dockerfileFROMopenjdk:8-jdk-alpineMAINTAINERcayd... 查看详情
k8s部署springboot项目(代码片段)
...署,接下来需要验证,本文选择通过一个简单的springboot项目来验证。springboot项目构建springboot项目这里不过多介绍,主要介绍如何构建镜像及推送到镜像仓库镜像构建首先新建文件dockerfileFROMopenjdk:8-jdk-alpineMAINTAINERcayd... 查看详情
k8s部署springboot项目(一篇够用)(代码片段)
...天这篇文章主要介绍如何从0开始搭建一套基于K8s部署的SpringBoot案例教程。基础环境准备 查看详情
springboot项目部署在kubernetes(k8s)集群上的demo
参考技术A一、新建springboot项目在pom.xml文件添加注意:springboot自带的spring-boot-maven-plugin不要删,否则会找不到manifast文件。二、建立自己的镜像:Dockerfile在服务器上安装docker和k8s,参考https://kuboard.cn/install/install-dashboard.html并敲... 查看详情
云原生kubernetesk8s集群部署springboot项目(代码片段)
...比较接近实际业务的使用场景,使用k8s集群部署一个springboot的项目,我们的需求是:部署SpringBoot项目到阿里云服务器 ;基于容器打包,推送私有镜像仓库;采用K8S集群部署,对外暴露服务,pod副... 查看详情
简单几步把springboot项目部署到k8s,步骤来了!(代码片段)
....io/2020/04/08/Spring-Boot-Operator-User-Guide/前言在Kubernetes中部署springboot应用整体上来说是一件比较繁琐的事情,而SpringBootOperator则能带给你更清爽简单的体验。SpringBootOperator基于Kubernetes的customresourcedefinitions(CRDs)扩展API进行的开发... 查看详情
docker化你的springboot项目
...ji)友(you),因为微服务架构下的业务服务通常都基于SpringBoot进行开发,上线部署服务的时候通过容器来进行部署,能够简化部署的过程,然后使用一些容器管理工具管理容器,例如k8s、rancher等。这样才能方便我们进行扩展... 查看详情
阿里云k8s服务springboot项目应用升级时出现502错误
背景随着小步快跑、快速迭代的开发模式被越来越多的互联网企业认同和采用,应用的变更、升级频率变得越来越频繁。为了应对不同的升级需求,保证升级过程平稳顺利地进行,诞生了一系列的部署发布模式。停机发布-把老... 查看详情
阿里云k8s服务springboot项目应用升级时出现502错误
背景随着小步快跑、快速迭代的开发模式被越来越多的互联网企业认同和采用,应用的变更、升级频率变得越来越频繁。为了应对不同的升级需求,保证升级过程平稳顺利地进行,诞生了一系列的部署发布模式。停机发布-把老... 查看详情
k8s部署springboot实践应用指南
...ce、Ingress具体概念准备一套可用的k8s环境准备一个部署的springboot应用k8s最小单元是Pod,而Pod是一组运行的容器,那么容器是怎么运行起来的呢?就是通过构建的镜像。(目前我们使用的容器技术都是基于docker)那先让我们来一起... 查看详情
k8s的项目部署(代码片段)
k8s的项目部署k8s的项目部署开发阶段持续集成应用部署运维k8s中部署Java项目的流程k8s中部署Java项目制作镜像推送镜像部署镜像暴露应用k8s的项目部署开发阶段●编写代码。●测试。●编写Dockerfile。持续集成●代码编译、打包。... 查看详情
在k8s中部署springboot应用,爽..(代码片段)
....io/2020/04/08/Spring-Boot-Operator-User-Guide/前言在Kubernetes中部署springboot应用整体上来说是一件比较繁琐的事情,而SpringBootOperator则能带给你更清爽简单的体验。SpringBootOperator基于Kubernetes的customresourcedefinitions(CRDs)扩展API进行的开发... 查看详情
在k8s中部署springboot应用,爽!(代码片段)
....io/2020/04/08/Spring-Boot-Operator-User-Guide/前言在Kubernetes中部署springboot应用整体上来说是一件比较繁琐的事情,而SpringBootOperator则能带给你更清爽简单的体验。SpringBootOperator基于 查看详情
使用springbootoperator部署springboot到k8s(代码片段)
...u.io/2020/04/08/Spring-Boot-Operator-User-Guide前言在Kubernetes中部署springboot应用整体上来说是一件比较繁琐的事情,而SpringBootOperator则能带给你更清爽简单的体验。SpringBootOperator基于Kubernete 查看详情
打包部署springboot项目到linux并后台运行(代码片段)
...cker和k8s类似的那一套自动化运维方式。一般地,对于springboot项目,我们会把开发测试好的项目打成可执行的jar包,使用scp等方 查看详情
springboot部署k8s(代码片段)
...成功总结前言本系列教程将分2篇文章讲解,怎么部署springboot到k8s上。第一篇:springboot准备,这里包括打包镜像。第二篇:springboot镜像部署到k8s,我们将使用deployment,service用最简单的方式deployk8s.一、IDEA工程目录二... 查看详情