国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

把 SpringBoot 部署到 K8s,竟然翻車了!

開發(fā) 新聞
怎么把一個 SpringBoot 開發(fā)的 Web 應(yīng)用部署到 K8s 集群上運(yùn)行?

今天這篇我們再更新一個怎么把 SpringBoot 應(yīng)用部署到 K8s 上,本來我是想偷偷懶、照貓畫虎把上節(jié)課的改改鏡像名不就行了,沒想到,居然翻車咧,真的是想偷點(diǎn)懶都不行啊。具體怎么翻車,咱們先往后看,在總結(jié)里再說說,我對 Go 相比于 Java 在云原生里的優(yōu)勢。

好了,咱們還是先假裝自己都是是小白哈,讓我?guī)Т蠹以俅螐牧汩_始把一個 SpringBoot 應(yīng)用部署到 K8s 上運(yùn)行。

SpringBoot 應(yīng)用,在 K8s 上運(yùn)行

怎么把一個 SpringBoot 開發(fā)的 Web 應(yīng)用部署到 K8s 集群上運(yùn)行,有哪幾個步驟要完成的呢,這里我們先歸納一下,后面依次對每一步進(jìn)行演示。

這里會把我們上面理論部分的知識點(diǎn)再串一遍,主要有這么幾個步驟:

  • 完成應(yīng)用代碼的編寫
  • 把程序打包成容器鏡像
  • 使用上一步打包的鏡像,創(chuàng)建應(yīng)用的Pod
  • 用 Deployment 調(diào)度應(yīng)用
  • 使用 Service 暴露應(yīng)用
  • 通過 Ingress 代理應(yīng)用

好了,這六步大家一定要記住,下面我們逐一展開,詳細(xì)說說。

完成應(yīng)用代碼的編寫

這一步咱們?yōu)榱搜菔?,就簡單來搞一個 HelloWorld 級別的代碼就行了,沒必要搞太復(fù)雜,再復(fù)雜的項(xiàng)目后面幾步的操作也是一樣。

首先,咱們建一個 Maven 管理的項(xiàng)目,POM 文件里引入這幾個依賴    

圖片

POM 文件里的依賴

POM里的依賴很簡單,首先是 Spring Boot 程序都要先引入的spring-boot-starter-parent,其次我們演示的是 Web 應(yīng)用,所以在項(xiàng)目依賴?yán)镌僖?Spring MVC 的starter 即可。

至于應(yīng)用的代碼,也非常簡單

圖片

應(yīng)用代碼

可以看到,僅就 HelloWorld 級別的代碼來說,并沒有比咱們演示的 Go 程序代碼多多少,主要原因是很多工作 SpringBoot 都已經(jīng)幫我們做好了。

代碼寫好了,接下來我們把這個 SpringBoot 應(yīng)用打成 Docker 鏡像。

把程序打包成容器鏡像

首先咱們準(zhǔn)備一下打包鏡像的 Dockerfile

FROM openjdk:8-jre
ADD target/*.jar /application.jar
ENTRYPOINT ["java", "-jar","/application.jar"]

把這個放在項(xiàng)目的根目錄里,具體 Dockerfile 里的命令咱們就不講了,就三個命令,可以在網(wǎng)管叨bi叨公眾號里回復(fù)docker,拿到一個 docker 命令的手冊,里面常用 Docker 命令的解釋都有。

下面把應(yīng)用打包成鏡像:

docker build -t registry.cn-hangzhou.aliyuncs.com/docker-study-lab/simple-app-java:v0.1

把鏡像上傳到遠(yuǎn)程倉庫:

docker push registry.cn-hangzhou.aliyuncs.com/docker-study-lab/simple-app-java:v0.1

這次,咱們還是把鏡像傳到,某位老好人創(chuàng)建的鏡像倉庫里,大家練習(xí)的時候也可以往里傳,不過首先要在阿里云申請個免費(fèi)的鏡像云賬號,然后用docker login 命令配置一下你的客戶端就行啦,阿里云的頁面上都有指示,實(shí)在不行了也可以在公眾號里問我。

創(chuàng)建應(yīng)用的Deployment

還記得我在之前的文章 -- K8s 面向?qū)ο罄镎f過

Deployment 是一個復(fù)合型的控制器,它包裝了一個叫做 ReplicaSet -- 副本集的控制器。ReplicaSet 管理正在運(yùn)行的Pod數(shù)量,Deployment 在其之上實(shí)現(xiàn) Pod 滾動更新,對Pod的運(yùn)行狀況進(jìn)行健康檢查以及回滾更新的能力

所以,這里我們直接把步驟2、3合起來一起說。其實(shí)也沒啥好說的,畢竟 Go 實(shí)踐那篇文章里我們已經(jīng)講過一次了,直接上這次用的 YAML 配置

圖片

Deployment YAML

誒,我就是在這翻車的,一開始我完全拷貝的 Go 實(shí)踐篇里的 Deployment 配置,部署后,服務(wù)不停的重啟,排查了一下,是在不停的OOM。

圖片

翻車截圖

因?yàn)樵蹅冎唤o Go 的那個應(yīng)用容器分配了 50M 內(nèi)存,這次用 SpringBoot 雖然也只是個 HelloWorld 程序,但是卻跑不起來,一請求容器就掛。這里就凸顯出 Go 在云原生下的第一個好處啦:占內(nèi)存小。

排查 K8s 問題的方法,可參考之前的文章:想在研發(fā)群里裝?先學(xué)會這幾個排查K8s問題的辦法

上面我直接把容器可用的內(nèi)存調(diào)成了 500M,不是說 Java 應(yīng)用占的內(nèi)存是Go應(yīng)用的 10倍,是我懶得一點(diǎn)點(diǎn)去試,直接設(shè)置成了 500M,反正 100 M,試過是不行的,哭!

用 Service 暴露服務(wù)

創(chuàng)建好上面這幾個對象后,我們的應(yīng)用只能在 K8s 集群的內(nèi)部使用,想能從外部訪問就得把應(yīng)用暴露出來,這個時候就需要 Service 這個對象了。Service 對象具體的概念解釋,咱們還是看上一篇文章,這里不再贅述了。

下面是一個默認(rèn)的 Cluster IP 型的 Service,為啥只在集群內(nèi)暴露呢?因?yàn)橄旅嫖覀冞€會給 Service 加一層 Ingress,所以就不必再用 NodePort 型的 Service 單獨(dú)在節(jié)點(diǎn)上開端口再向外暴露服務(wù)啦。

圖片

Service YAML

用 Ingress 代理Service

使用 Ingress 前咱們應(yīng)該干什么呢?對,需要先安裝 Ingress Controller ,這里我們使用開源的 Ingress-Nginx ,它本質(zhì)上就是個 Nginx,也好理解,Ingress 是代理 Service 對象的,要想代理先得有個基礎(chǔ)設(shè)施的支持,只不過 K8s 里任何東西都是面向?qū)ο蠓绞焦芾淼?,所以就有?Ingress Controller,它支持不同類型的 Ingress Controller,咱們用的這個是免費(fèi)的。

安裝參考下面這個鏈接,非常簡單,上次發(fā)文章后,不安裝就跑過來問我為啥運(yùn)行不了的,自己去面壁會兒。

https://kubernetes.github.io/ingress-nginx/deploy/

接下來就是聲明代理我們的 Web 應(yīng)用的 Ingress 對象

圖片

Ingress YAML

通過 kubctl apply -f 命令把它提交給 K8s 集群,創(chuàng)建 Ingress 對象。

Ingress 對象創(chuàng)建好后,我們就能通過 java-app.example.com 訪問咱們的服務(wù)啦,當(dāng)然前提是在電腦上配置一下咱們的 hosts 文件,添加一下這個域名到127.0.0.1 的綁定。

看一下咱們的訪問效果

圖片

K8s 運(yùn)行應(yīng)用的效果

常用命令

最近這兩天的實(shí)踐篇,我一直在給你們講 K8s 的各種資源對象怎么聲明、怎么配合著使用,操作時執(zhí)行的命令就提了一嘴,沒有展開說。主要的原因還是它的命令非常簡單,自始至終我就用了一個 kubectl apply 命令,下面我把 K8s 常用的命令組合放這里,供大家操作的時候參考。

  • kubectl apply -f xxx.yaml 讓K8s 創(chuàng)建在集群里按配置文件創(chuàng)建/更新資源對象
  • kubectl get pod | deploy | svc | ingress 查看集群中的pod、Deployment、Service、Ingress 資源的狀態(tài)
  • kubectl describe pod | deploy | svc | ingress {$objectName} 查看具體資源對象當(dāng)前的詳細(xì)信息
  • kubectl delete pod | deploy | svc | ingress {$objectName} 刪除指定對象

總結(jié)

講完這篇 SpringBoot 應(yīng)用上 K8s 的過程,咱們快速入門和實(shí)踐這個短系列就算完結(jié)了。

這里總結(jié)了一下 K8s 常用的入門知識以及相關(guān)的實(shí)踐操作,只能算是一個非常初級的入門,還有其他很多非常高級的特性能讓我們控制 K8s 對應(yīng)用的各種調(diào)度動作。

責(zé)任編輯:張燕妮 來源: 網(wǎng)管叨bi叨
相關(guān)推薦

2023-09-06 08:12:04

k8s云原生

2021-11-05 13:35:35

Spring BooK8SJava

2025-04-01 09:04:18

2021-08-26 07:20:05

云原生K8sSpringboot

2021-08-13 07:00:41

云原生k8sspringboot

2022-04-22 13:32:01

K8s容器引擎架構(gòu)

2022-02-18 10:47:47

微服務(wù)k8s項(xiàng)目

2024-11-27 16:37:57

2022-01-02 08:42:50

架構(gòu)部署容器

2021-11-04 07:49:58

K8SStatefulSetMySQL

2023-02-27 07:40:00

2023-07-11 07:12:21

Hadoop部署mysql

2023-07-10 07:22:16

2023-09-08 08:09:12

k8sservice服務(wù)

2025-11-26 07:41:14

2025-01-07 14:36:12

2023-11-06 07:16:22

WasmK8s模塊

2023-12-05 08:33:44

滴滴故障k8s

2025-08-15 07:39:11

2022-01-22 21:38:19

K8SRedisRedis clus
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

国产欧美日韩91| xxxx成人| 国产精品白丝在线| 欧美日韩在线一| 国产女人水真多18毛片18精品视频| 久久久久国产精品熟女影院| 中文字幕一区av| 午夜亚洲成人| 精品国一区二区三区| 成人黄色免费网站| 午夜精品国产精品大乳美女| 精品视频日韩| 欧美日韩精品免费看| 国产99久久久国产精品免费看| 国产免费毛卡片| 亚洲成人综合在线| 青草视频在线免费直播 | av一本久道久久综合久久鬼色| 三年中国国语在线播放免费| 激情成人中文字幕| 99色在线观看| 欧美一区二区三区免费观看 | 国产精品网址| 久久久久久久久久久久久久久久av| 国产精品一二二区| 情se视频网在线观看| 亚洲第一区在线观看| 超碰97久久| 欧美人与性禽动交精品| 国产日韩欧美a| 黄色免费在线观看| 97精品久久久中文字幕免费| 国产农村妇女精品一二区| 无码内射中文字幕岛国片| 欧美日韩国产高清一区二区三区| 亚洲国产伊人| 韩国精品一区二区三区六区色诱| 国产亚洲欧美日韩俺去了| 成人影院在线观看| 国产精品美女呻吟| 99精品国产99久久久久久白柏 | 日韩精品欧美精品| eeuss在线播放| 日韩二区三区在线| 99精品网站| 水蜜桃色314在线观看| 欧美日韩亚洲综合| 午夜精品福利影院| 欧美狂野激情性xxxx在线观| 欧美日韩专区在线| 狠狠操综合网| 日本一极黄色片| 亚洲欧美在线免费| 亚洲欧美清纯在线制服| 深夜宅男网站免费进入| 中文字幕日韩av电影| 久久精品日产第一区二区 | 中文久久精品| 小香蕉视频在线| 色综合久综合久久综合久鬼88| 另类调教123区| 色视频在线观看免费| 国内精品一区二区三区| 国产91丝袜在线播放0| 最新av在线播放| 成人免费在线视频网址| 中文字幕国产一区二区| 韩漫成人漫画| 日本一区二区三区在线视频| 色婷婷精品大在线视频| 日本欧美肥老太交大片| 亚洲 欧美 日韩系列| 色yeye香蕉凹凸一区二区av| 蜜臀久久99精品久久久久宅男| 免费av网站在线看| 高清一区二区三区视频| 亚洲成av人综合在线观看| 粉嫩久久久久久久极品| 国产情侣第一页| 亚洲免费精彩视频| 国产乱人伦偷精品视频免下载| 2021国产在线| 麻豆传媒一区二区| 欧美精品乱码久久久久久按摩| 欧美xxxxx视频| 宅男午夜在线| 国产成人av在线播放| 亚洲少妇最新在线视频| 欧美三级午夜理伦三级在线观看 | 亚洲欧美tv| 亚洲 欧美 日韩系列| 欧美激情久久久| 久久色.com| 国产伦理久久久久久妇女 | 亚洲日本伦理| 国产在线播放91| 精品久久久中文| 日本成人小视频| 一级片在线播放| www国产亚洲精品| 欧美欧美欧美欧美首页| 美女久久一区| 国产精品yjizz视频网| 日韩最新中文字幕| 最近2019中文字幕mv免费看| 99免费精品在线观看| 免费欧美网站| 国产女优裸体网站| 97超碰人人看人人| 精品裸体舞一区二区三区| 国产一区二区精品在线观看| 国产精品美女久久久久| 男女无套免费网站| 成人疯狂猛交xxx| 欧美一区二区视频在线观看 | 97碰碰视频| 日韩欧美专区在线| 国产传媒欧美日韩成人| 美女精品视频在线| 导航福利在线| 精品久久久久久一区二区里番| 欧美xxxxxxxxx| 99re8在线精品视频免费播放| 青青草原在线亚洲| 国产精品一级伦理| 在线免费观看成人网| 色综合视频一区中文字幕| 亚洲丰满少妇videoshd| 午夜在线精品| 久久久久黄色| 亚洲精品666| 精品久久久三级| zzijzzij亚洲日本成熟少妇| 中文字幕在线不卡一区| 中文字幕一区二区精品区| 美女在线视频免费| sihu成人| 四虎一区二区| 久久久免费av| 欧美在线观看视频一区二区| 精品一区二区精品| 欧美电影在线观看免费| 精品美女在线观看视频在线观看| av一区二区三区免费观看| 欧美又大又粗又长| 日韩欧美你懂的| 亚洲欧洲三级电影| 亚洲免费一区二区| 精品福利网址导航| 国产探花在线观看| 久草在.com| 中文字幕第50页| 成人免费看片视频| 亚洲日韩欧美视频| 一本久道中文字幕精品亚洲嫩 | 久色成人在线| 激情小说一区| 日韩专区av| 99视频资源网| 蜜桃视频成人在线观看| 国产在线久久久| 色777狠狠综合秋免鲁丝| 欧美亚洲一区二区在线观看| 久久久久久毛片| 亚洲欧美高清| 欧美五码在线| 亚洲v.com| 国产二区在线播放| 91精品无人成人www| 杨幂一区欧美专区| 91情侣在线视频| 91精品国产91| 视频直播国产精品| 日韩欧美久久久| 欧美日韩国产色视频| 久久久精品免费观看| 理论电影国产精品| 亚洲国产第一| 国产一区二区亚洲| 久久国产精品美女| 日本蜜桃在线观看视频| 成人免费在线视频网| 嫩草懂你的影院| 欧美精品一区二区三区免费播放| 亚洲草草视频| 久久久久久九九九九| 成人黄色av播放免费| 欧美精品一区二区三区国产精品| 精品国产乱码久久| 欧美日韩黄色影视| 欧美性猛交xxxx富婆| 亚洲美女免费在线| 久久免费电影网| 国产福利精品一区| 精品一区二区影视| 久久国产日韩| 亚洲欧美日韩国产一区| 欧美国产免费| 91精品电影| 亚洲精品99|