关键词:
开篇
基于前面的文章 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项目(代码片段)
...署,接下来需要验证,本文选择通过一个简单的springboot项目来验证。springboot项目构建springboot项目这里不过多介绍,主要介绍如何构建镜像及推送到镜像仓库镜像构建首先新建文件dockerfileFROMopenjdk:8-jdk-alpineMAINTAINERcayd... 查看详情
k8s部署springboot项目(一篇够用)(代码片段)
...天这篇文章主要介绍如何从0开始搭建一套基于K8s部署的SpringBoot案例教程。基础环境准备 查看详情
云原生kubernetesk8s集群部署springboot项目(代码片段)
...比较接近实际业务的使用场景,使用k8s集群部署一个springboot的项目,我们的需求是:部署SpringBoot项目到阿里云服务器 ;基于容器打包,推送私有镜像仓库;采用K8S集群部署,对外暴露服务,pod副... 查看详情
k8s的项目部署(代码片段)
k8s的项目部署k8s的项目部署开发阶段持续集成应用部署运维k8s中部署Java项目的流程k8s中部署Java项目制作镜像推送镜像部署镜像暴露应用k8s的项目部署开发阶段●编写代码。●测试。●编写Dockerfile。持续集成●代码编译、打包。... 查看详情
简单几步把springboot项目部署到k8s,步骤来了!(代码片段)
....io/2020/04/08/Spring-Boot-Operator-User-Guide/前言在Kubernetes中部署springboot应用整体上来说是一件比较繁琐的事情,而SpringBootOperator则能带给你更清爽简单的体验。SpringBootOperator基于Kubernetes的customresourcedefinitions(CRDs)扩展API进行的开发... 查看详情
k8s部署springboot项目
...署,接下来需要验证,本文选择通过一个简单的springboot项目来验证。springboot项目构建springboot项目这里不过多介绍,主要介绍如何构建镜像及推送到镜像仓库镜像构建首先新建文件dockerfileFROMopenjdk 查看详情
k8s部署springboot项目
...印并且返回可以看到2个副本pod已经Running访问前需要先把springboot.demo.com域名添加到宿主机的/etc/hosts中保证可以正常解析到ingress-nginx那台机器上的nginx即可(不详可以看上一篇)请求接口:http://springboot.demo.com/k8s/hello?name=johnny查... 查看详情
在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等方 查看详情
k8s如何部署springboot项目
参考技术AK8S如何部署SpringBoot项目1:首先,需要安装docker环境,以及安装Harbor仓库2:安装K8S集群环境3:进行docker镜像的制作并上传到仓库4:进行容器的编排。启动至此就可以了。创建dockertest.yaml文件如下运行kubectlcreate-fdockertest.... 查看详情
springboot部署k8s(代码片段)
...成功总结前言本系列教程将分2篇文章讲解,怎么部署springboot到k8s上。第一篇:springboot准备,这里包括打包镜像。第二篇:springboot镜像部署到k8s,我们将使用deployment,service用最简单的方式deployk8s.一、IDEA工程目录二... 查看详情
在k8s中部署springboot应用,爽..(代码片段)
....io/2020/04/08/Spring-Boot-Operator-User-Guide/前言在Kubernetes中部署springboot应用整体上来说是一件比较繁琐的事情,而SpringBootOperator则能带给你更清爽简单的体验。SpringBootOperator基于Kubernetes的customresourcedefinitions(CRDs)扩展API进行的开发... 查看详情
k8s部署skywalking并将pod应用接入链路追踪(代码片段)
一、概述前面写了两篇文章介绍使用docker部署springboot和tomcat项目,并将其接入skywalking,这篇文章主要介绍使用k8s部署skywalking并将pod应用接入链路追踪。二、使用helm部署skywalking在k8s中使用helm的前提是需要先安装helm客户端,关... 查看详情
半小时体验云原生:手把手教你在k8s上部署springboot应用——干货分享,建议收藏(代码片段)
你会不会对“云原生”很有兴趣,却不知道从何入手?本文会在window环境下,构建一套基于k8s的istio环境,并且通过skaffold完成镜像的构建和项目部署到集群环境。其实对于实验环境有限的朋友们,完全可以在... 查看详情
kubernetes第六篇:k8s的四种部署策略(代码片段)
...录一、前言二、滚动更新2.1滚动更新2.2实践2.2.1新建两个springboot项目,生成两个镜像2.2.2kubectlapply启动2.2.3将版本修改为v2.0,kubectlapply重新部署三、重新创建3.1重新创建3.2实践3.2.1kubectlapply启动3.2.2将版本修改为v2.0,ku... 查看详情
kubernetes第六篇:k8s的四种部署策略(代码片段)
...录一、前言二、滚动更新2.1滚动更新2.2实践2.2.1新建两个springboot项目,生成两个镜像2.2.2kubectlapply启动2.2.3将版本修改为v2.0,kubectlapply重新部署三、重新创建3.1重新创建3.2实践3.2.1kubectlapply启动3.2.2将版本修改为v2.0,ku... 查看详情
dockercompose部署springboot+mysql项目(代码片段)
DockerCompose部署Springboot+Mysql项目在上一篇文章SpringBoot(Maven)+Docker打包中,我们实现了将Springboot项目源代码一键打包部署为Docker服务。上文中,我们的Springboot项目如果要与数据库的连接,就必须连接公网IP来使用&... 查看详情