日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

SpringCloud 应用在 Kubernetes 上的最佳实践 — 部署篇(开发部署)

發(fā)布時(shí)間:2025/3/20 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringCloud 应用在 Kubernetes 上的最佳实践 — 部署篇(开发部署) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者 | 孤弋 ?阿里云高級(jí)技術(shù)專家,負(fù)責(zé) EDAS 的開發(fā)和用戶體驗(yàn)優(yōu)化工作。

導(dǎo)讀:在上一篇文章《SpringCloud 應(yīng)用在 Kubernetes 上的云上實(shí)踐 - 開發(fā)篇》中講到可以通過兩個(gè)工具,輕松地將一個(gè) SpringCloud 應(yīng)用從初始化到本地運(yùn)行。本篇文章,我們將介紹如何將上一篇文章中提到的應(yīng)用在云上跑起來。

初始化集群

為了將應(yīng)用運(yùn)行在云端,首先我們需要一個(gè) Kubernetes 集群,在 EDAS 中使用 Kubernetes 集群目前最快的方式,是將一個(gè)阿里云容器集群中的 Kubernetes 集群( ACK 集群 ),導(dǎo)入到 EDAS 中來。

如果還沒有ACK集群的話,您可以通過以下兩種方式來創(chuàng)建一個(gè):

  • 直接進(jìn)入容器服務(wù)的控制臺(tái)進(jìn)行創(chuàng)建;
  • 如果您已經(jīng)有一個(gè)在云上建好的集群,或者有一個(gè)在其他 IDC 或友商中有的集群,也可以在容器服務(wù)這邊通過“注冊已有集群”的方式,導(dǎo)入到容器服務(wù)中來。
  • 等到 Kubernetes 集群就緒之后,在 EDAS 上需要進(jìn)行一次集群“導(dǎo)入”,導(dǎo)入方式如下圖所示:

    在導(dǎo)入集群時(shí),EDAS 會(huì)做以下操作:

    • 初始化 EDAS 的集群控制器和相關(guān)資源,主要包含:基于開放云原生應(yīng)用標(biāo)準(zhǔn)的 OAM Controller、日志采集的 Agent、監(jiān)控鏈路中的 Arms 環(huán)境信息等;其中大部分控制器運(yùn)行時(shí)不會(huì)占用用戶集群的資源,而會(huì)運(yùn)行在 EDAS 托管的一個(gè)管控集群中,由 EDAS 來負(fù)責(zé)維護(hù);

    • 根據(jù)用戶的規(guī)劃,劃分好此集群與 EDAS 中命名空間的關(guān)系。EDAS 中的命名空間是用來隔離服務(wù)與配置的,簡單的可以理解成開發(fā)、測試、線上這樣的日常研發(fā)中的環(huán)境。集群導(dǎo)入的同時(shí)也確定了該 Kubernetes 集群是用于哪套環(huán)境。

    初始化應(yīng)用

    在準(zhǔn)備好集群之后,我們需要初始化一個(gè)云端的應(yīng)用,進(jìn)入 EDAS 中的創(chuàng)建應(yīng)用的向?qū)е?#xff0c;選擇剛剛創(chuàng)建的集群進(jìn)行應(yīng)用創(chuàng)建,在需要選擇的應(yīng)用應(yīng)用運(yùn)行環(huán)境處,會(huì)看到有 “自定義”、“Java” 、“Tomcat”、“EDAS Container” 四類,如下圖所示:

    這里需要特殊說明一下,因?yàn)橐粋€(gè)應(yīng)用一旦一開始確定了部署類型,以后將不能被修改,其中:

    • Java/Tomcat/EDAS Container 類型的的環(huán)境:如果選擇這中運(yùn)行環(huán)境,文件上傳之后,EDAS 將把文件與相應(yīng)的基礎(chǔ)鏡像一起打成應(yīng)用的鏡像使用;

    • 自定義環(huán)境:選擇鏡像的運(yùn)行環(huán)境之后,意味著每一次的部署均通過指定的自定義鏡像進(jìn)行部署,其中,自定義鏡像需要滿足一定的規(guī)范,具體內(nèi)容可以參考阿里云幫助文檔《制作應(yīng)用容器 Docker 鏡像》。其中核心的內(nèi)容是以下兩行代碼:

    # 繼承 EDAS 的官方鏡像 FROM apaas/edas # 將文件下載至 /home/admin/app 中 ADD http://your.domain.com/file/location.jar /home/admin/app/

    :EDAS 中的應(yīng)用,運(yùn)行時(shí)就是被 OAM 控制器管控下的 Kubernetes 的 Deployment,因此除了通過上述方式創(chuàng)建 EDAS 應(yīng)用之外,EDAS 也能將集群中的 Deployment 讀取出來,您可以將這些Deployment直接轉(zhuǎn)成一個(gè) EDAS 應(yīng)用。這里如果有朋友對 EDAS 應(yīng)用 與 Deployment 之間的轉(zhuǎn)換感興趣的話,我們在專門的章節(jié)中細(xì)講。

    通過 IDE 插件直接部署 Kubernetes 應(yīng)用

    在初始化好應(yīng)用之后,我們就能在開發(fā)時(shí)通過 IDE 將應(yīng)用打包并直接部署上去了。和選擇的 運(yùn)行環(huán)境 有關(guān),在插件中進(jìn)行部署時(shí),我們也會(huì)有相應(yīng)的選項(xiàng),如圖:

    如果是在開發(fā)環(huán)境中,為了提升開發(fā)效率,我們推薦使用非自定義鏡像的方式用 IDE 插件進(jìn)行部署,因?yàn)椴寮形募蟼鞅仍诳刂婆_(tái)中上傳的速度要快 3 倍以上,對于體積偏大的部署包來說非常好用!而且相比重新構(gòu)建/推送鏡像后再進(jìn)行部署而言,直接提交war/jar的部署也要快很多。

    關(guān)于如何在 IDE 插件中部署,可以在阿里云官方文檔上搜索《使用 Cloud Toolkit 快速部署應(yīng)用至 EDAS》進(jìn)行詳細(xì)了解。

    結(jié)語及其后續(xù)

    本篇我們還是站在開發(fā)者的視角,介紹了如何將一個(gè)開發(fā)好的應(yīng)用包部署到云上的 EDAS 應(yīng)用中,在開發(fā)環(huán)境下,面對眾多的部署 Kubernetes 集群的方式中,我們推薦的最佳方式是使用 war/jar 直接從插件中上傳部署,在所有方式中這是最快的部署方式。接下來我們將介紹站在運(yùn)維的角度,如何使用 EDAS 的其他工具來構(gòu)建部署流程。

    首屆 KubeCon 2020 線上峰會(huì)

    7 月 30 日 - 8 月 1 日,阿里巴巴云原生專場,點(diǎn)擊鏈接預(yù)約有禮:https://developer.aliyun.com/topic/alibabacloudnative/kubecon2020

    “阿里巴巴云原生關(guān)注微服務(wù)、Serverless、容器、Service Mesh 等技術(shù)領(lǐng)域、聚焦云原生流行技術(shù)趨勢、云原生大規(guī)模的落地實(shí)踐,做最懂云原生開發(fā)者的公眾號(hào)。”

    總結(jié)

    以上是生活随笔為你收集整理的SpringCloud 应用在 Kubernetes 上的最佳实践 — 部署篇(开发部署)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。