欢迎访问我的GitHub
关于《quarkus实战》系列
引子
- 作为一名Java程序员,如何适应目前的容器化趋势现有SpringBoot应用编译构建制作成docker镜像,然后运行在kubernetes环境,这是欣宸目前在实际项目中的做法,但也面临的诸多困扰:
- 启动慢:一个应用从启动到服务可用,一般是数秒,在对CPU核数和内存严格限制的情况下,花数十秒启动的情况也屡见不鲜,这样的问题无法适应需要快速重启或快速扩容的场景
- 内存消耗大:曾强行将内存限制在1G,结果FGC频率变大,还经常触发OMMKill导致pod重启,并且启动时间也会变长,相比之下,集群中golang应用大多配置128M内存限制,我只能羡慕了
- 另外还有诸多疑问也困扰着我:java技术栈内已有完整的注册发现、调用链追踪、指标监控、配置等技术实现,在kubernetes环境又该如何选择或适配
- 生在云上,长在云上的云原生时代,Java应用何去何从jib插件将SpingBoot应用转为docker镜像,在k8s上运行,仅此而已吗/li>
- 被以上问题困扰了很久,直到遇见 quarkus,当然了,它还没强大到解决上述所有问题,但它给了我方向和希望:java领域也有面向云原生的完整方案
关于quarkus
- quarkus是为GraalVM 和HotSpot量身定制的Kubernetes原生Java框架,采用同类最佳的Java 库和标准制作而成,来自RedHat,是一个在Apache 许可证 2.0 版下获得许可的开源项目(来自官 )
- quarkus官 :https://quarkus.io
- quarkus的github仓库:https://github.com/quarkusio/quarkus
- 容器化的路上,选择quarkus是个不错的选择
本篇概览
- 涉及软件的版本信息介绍
- 安装JDK-11
- 安装maven-3.8.4
- 安装docker
- 关于kubernetes的安装
- 新建maven工程,作为《quarkus实战》系列所有代码的父工程
- 以上就是今天的内容,先从环境信息开始吧
涉及软件的版本信息介绍
- 开始操作前,先将我这里的环境信息给出,这是能成功运行《quarkus实战》系列所有功能的环境,您可以用来作参考
- 先看开发环境:
- 操作系统:Ubuntu 16.04.7 LTS 桌面版(没错,写代码、本地运行调试、写文章都用这个Ubuntu电脑)
- JDK:11.0.14
- Maven:3.8.4
- IDE:IDEA 2021.2.3(Ultimate Edition)
- quarkus:2.7
- docker:20.10.7
- 然后是运行环境,这是运行开发出的镜像的云环境:
- 操作系统:CentOS-7.9.2009
- kubernetes:1.22.0(三台服务器,一台master,两台worker)
- 环境介绍完毕,开始动手
安装JDK
- 將下载的压缩包在/usr/lib/jvm/解压,得到文件夹jdk-11.0.14
- 打开文件~/.bashrc,在尾部增加以下内容:
- 执行source ~/.bashrc,让配置生效
- 执行java -version验证JDK是否生效:
安装Maven
- 下载压缩包,地址:https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.zip
- 將下载的压缩包在/usr/local/解压,得到文件夹apache-maven-3.8.4
- 打开文件~/.bashrc,在尾部增加以下内容:
- 执行source ~/.bashrc,让配置生效
- 执行mvn -version验证maven是否生效:
- 建议本地maven配置阿里云镜像,这样可以避免从中央仓库下载依赖失败的问题,在apache-maven-3.8.4/conf/settings.xml的mirrors节点下增加下面这个节点:
安装docker
- 安装docker的命令与各操作系统有关,这里给出ubuntu下的安装命令作为参考:
- 如果您在ubuntu系统中用的不是root帐 ,建议做参考下文做一些简单设置,这样操作docker的时候就无需每次都用sudo了:
《设置非root账 不用sudo直接执行docker命令》
关于kubernetes安装
- 可以参考《极速安装kubernetes-1.22.0(三台CentOS7服务器)》
新建maven工程
- 新建名为quarkus-tutorials的maven工程,目前这里面还是空的,将来会作为整个系列相关源码的父工程,将所有源码和依赖库版本统一管理起来
未完待续
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!