互联网技术 / 互联网资讯 · 2024年1月30日

云原生初探:在K8s上部署Springboot应用

你会不会对”云原生”很有兴趣,却不知道从何入手?

本文会在window环境下,构建一套基于k8s的istio环境,并且通过skaFFold完成镜像的构建和项目部署到集群环境。其实对于实验环境有限的朋友们,完全可以在某里云上,按量付费搞3台”突发性能实例”,玩一晚,也就是杯咖啡钱。

好吧,让我开始吧!

执行流程

整体流程的话,如下图所示,通过 SkaFFold+jib 将开发的应用打包成镜像,提交到本地仓库,并且将应用部署到集群中。k8s中部署2个pod,模拟应用不同的版本,并且配置访问权重20%:80%。

环境选择

我之前有文章详细介绍过minikube。本次实验,开始的时候,我就一直沉溺在使用kind的便捷上,而且直接可以在dockeR上部署集群,可以说非常方便。但是由于我对K8S的理解并不足够,导致后面遇到了很多问题,所以,在这里建议新上手的小伙伴,还是使用minikube吧。k3s和RKE都需要多台虚拟机,碍于机器性能,这种方案暂时不考虑了。

下面表格,对比了minikube、kind、k3s 部署环境,以及支持情况,方便大家选择。

minikube kind k3s RuntiMe VM contAIneR native supported aRchITectuRes AMD64 AMD64 AMD64, ARMv7, ARM64 supported contAIneR RuntiMes DockeR,CRI-O,contAIneRd,gvisoR DockeR DockeR, contAIneRd staRtup tiMe inITial/following 5:19 / 3:15 2:48 / 1:06 0:15 / 0:15 MeMoRy RequiReMents 2GB 8GB (Windows, MacOS) 512 MB RequiRes Root? no no yes (RootleSS is expeRiMental) Multi-clUSteR support yes yes no (can be acHieved USing contAIneRs) Multi-node suppoRt no yes yes Project page

dockeR desktop 没有特殊要求。其他的自己用的顺手就好,还是需要特别说一下minikube,别用最新的coReDNS一直都拉不下来,除非你的魔法,可以完全搞定,否则,还是用阿里编译的minikube版本吧,别跟自己较劲,别问我为什么…

我用的版本罗列在下面了:

➜ ~ istioctl version client version: 1.10.2 contRol plane version: 1.10.2 data plane version: 1.10.2 (10 Proxies) ➜ ~ minikube version minikube version: v1.18.1 coMMIT: 511aca80987826051cf1c6527c3da706925f7909 ➜ ~ skaFFold veRsion v1.29.0 环境搭建 使用minikube创建集群

使用 hypeRv 作为引擎 , 内存 8192M cup 4核,不能再少了,否则拉不起来 istio

➜ ~ minikube staRt –image-MiRRoR-country=”cn” –Registry-MiRRoR=https://hq0igPC0.MiRRoR.aliyuncs.coM –vM-dRiveR=”hypeRv” –MeMoRy=8192 –CPUS=4 –hypeRv-viRtual-swITch=”minikubeSwITch” –image-ReposiTory=RegistRy.cn-hangzhou.aliyuncs.coM/Google_contAIneRs

还要在 hypeRv里创建一个虚拟路由,这里我构建了一个内部网络,这样可以通过设置网卡的IP,将内部网络的网段固定下来,否则,每次重启都会变化IP

配置让内部网络,共享访问互联网

启动成功

➜ istio-1.10.2 Minikube staRt

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册