日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

配置鏡像目標(biāo)架構(gòu)

隨著ARM64架構(gòu)服務(wù)端的流行,為了讓您選擇更加多元化,EDAS在K8s集群中使用WAR、JAR包部署應(yīng)用時(shí),支持選擇多平臺架構(gòu)。本文介紹如何在EDAS控制臺配置鏡像目標(biāo)架構(gòu)。

使用限制

  • 僅支持Kubernetes ACK集群。

  • 僅支持使用WAR、JAR包部署應(yīng)用的場景。

  • Java環(huán)境為Open JDK≥8或Dragonwell JDK。

  • 當(dāng)構(gòu)建倉庫類型為ACR倉庫時(shí),您使用的是自己的鏡像構(gòu)建機(jī)器。此時(shí),需使用Linux內(nèi)核版本大于4.8的操作系統(tǒng),版本如下:

    • Alibaba Cloud Linux全系列

    • Anolis OS全系列

    • Ubuntu 18.04.0 LTS +

    • Centos 8+

前提條件

升級arms-pilot至ack-onepilot 3.0.13版本。您需手工檢查及升級arms-pilot版本,操作如下:

  1. 登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群

  2. 集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇應(yīng)用 > Helm

  3. Helm頁面,檢查是否有ack-onepilot,且Chart版本≥3.0.13。如果沒有,請?jiān)?span data-tag="menucascade" id="menucascade-h5s-gfu-g88" class="menucascade">運(yùn)維管理 > 組件管理頁面,查找ack-onepilot,進(jìn)行安裝或升級。

  4. 安裝ack-onepilot完成后,在應(yīng)用 > Helm頁面,卸載ack-arms-pilot或arms-pilot。

操作步驟

您可在創(chuàng)建或部署應(yīng)用時(shí),配置鏡像目標(biāo)架構(gòu)。

  1. 登錄EDAS控制臺,在左側(cè)導(dǎo)航欄單擊應(yīng)用管理 > 應(yīng)用列表,在頂部菜單欄選擇地域并在頁面上方選擇微服務(wù)空間,然后在應(yīng)用列表頁面左上角單擊創(chuàng)建應(yīng)用

  2. 應(yīng)用基本信息頁簽,選擇集群類型Kubernetes集群,然后單擊下一步

  3. 應(yīng)用配置頁簽的鏡像目標(biāo)架構(gòu)右側(cè),選擇所需架構(gòu),單擊下一步

    • linux/amd64:指構(gòu)建的鏡像支持運(yùn)行在Linux x86_64平臺架構(gòu)上。

    • linux/arm64:指構(gòu)建的鏡像支持運(yùn)行在Linux arm_64平臺架構(gòu)上。

    如果您希望在一個(gè)集群里同時(shí)存在linux/amd64linux/arm64的Worker,存在以下兩種使用場景:

    場景

    建議

    優(yōu)缺點(diǎn)分析

    不同的應(yīng)用運(yùn)行在不同的架構(gòu)上

    推薦。

    優(yōu)點(diǎn):可控性高,可避免不同架構(gòu)的節(jié)點(diǎn)性能不一致帶來的性能問題。

    缺點(diǎn):需為ARM架構(gòu)的Worker打上污點(diǎn),同時(shí)調(diào)度到ARM架構(gòu)的應(yīng)用需配置調(diào)度策略。具體操作,請參見如何在一個(gè)已經(jīng)運(yùn)行應(yīng)用的集群上,添加不同架構(gòu)的Worker,并調(diào)度至新架構(gòu)Worker

    同一個(gè)應(yīng)用的Pod被隨機(jī)調(diào)度到不同架構(gòu)的機(jī)器上

    不推薦。

    優(yōu)點(diǎn):無需配置調(diào)度策略。

    缺點(diǎn):兩種架構(gòu)的機(jī)器性能通常不一致。在負(fù)載較重時(shí),對于微服務(wù)應(yīng)用,如果Consumer端使用round robin策略,可能導(dǎo)致性能差的機(jī)器工作隊(duì)列堆積,從而造成運(yùn)行慢的機(jī)器RT拉長,性能好的機(jī)器空閑。

    多選時(shí),利用多架構(gòu)鏡像技術(shù)構(gòu)建的鏡像支持所有選擇的平臺架構(gòu)。所使用技術(shù),請參見本地構(gòu)建和推送多架構(gòu)鏡像到容器鏡像服務(wù)

    說明

    當(dāng)鏡像目標(biāo)架構(gòu)選擇多種架構(gòu)時(shí),構(gòu)建時(shí)間較長,分為以下兩種情況:

    • 構(gòu)建倉庫類型EDAS鏡像倉庫時(shí),由于使用EDAS構(gòu)建機(jī)器,機(jī)器性能較好,多一種架構(gòu)構(gòu)建時(shí)間增加10~60秒之間。

    • 構(gòu)建倉庫類型為ACR倉庫時(shí),構(gòu)建機(jī)器使用自己的機(jī)器,默認(rèn)限制了CPU性能,多一種架構(gòu)構(gòu)建時(shí)間增加2~6分鐘之間。

      建議構(gòu)建機(jī)器使用amd64機(jī)器,可通過為機(jī)器添加標(biāo)簽edas.image.build: enable,讓構(gòu)建任務(wù)調(diào)度至指定機(jī)器。請參見如何調(diào)整鏡像構(gòu)建資源限制?, 調(diào)整資源限制加速構(gòu)建鏡像。

  4. 應(yīng)用高級設(shè)置頁簽,根據(jù)業(yè)務(wù)需求配置相關(guān)參數(shù)。

  5. 完成設(shè)置后單擊創(chuàng)建應(yīng)用,然后在應(yīng)用創(chuàng)建完成頁簽,單擊確定創(chuàng)建應(yīng)用

  6. 應(yīng)用變更預(yù)檢確認(rèn)對話框,單擊開始預(yù)檢

    1. 應(yīng)用變更預(yù)檢確認(rèn)的下一頁,確認(rèn)預(yù)檢項(xiàng)和預(yù)檢結(jié)果,單擊繼續(xù)

    2. 可選:如您有更改以上預(yù)檢項(xiàng),請單擊重新檢測

    應(yīng)用創(chuàng)建可能需要幾分鐘,創(chuàng)建過程中,可以通過查看變更記錄跟蹤應(yīng)用的創(chuàng)建流程。創(chuàng)建完成后,返回應(yīng)用總覽頁面,查看實(shí)例Pod的運(yùn)行狀態(tài)。若運(yùn)行狀態(tài)運(yùn)行中,說明應(yīng)用發(fā)布成功。單擊Pod的運(yùn)行狀態(tài)可以查看應(yīng)用實(shí)例的工作負(fù)載(Deployment)容器組(Pod)和高級配置信息。

    說明

    預(yù)檢任務(wù)將為多架構(gòu)部署檢查以下異常情況。

    • 所選架構(gòu)沒有相應(yīng)架構(gòu)的Worker節(jié)點(diǎn)。例如,在EDAS中僅選擇linux/arm64,但集群只有linux/amd64的Worker節(jié)點(diǎn)。

    • 構(gòu)建倉庫類型為ACR倉庫且所選架構(gòu)數(shù)量≥1,但集群中無內(nèi)核版本≥4.8的Worker節(jié)點(diǎn)。

    • 對于一些EDAS中較舊的應(yīng)用,仍在使用非Open JDK、dragonwell JDK的Java環(huán)境。

常見問題

如何在一個(gè)已經(jīng)運(yùn)行應(yīng)用的集群上,添加不同架構(gòu)的Worker,并調(diào)度至新架構(gòu)Worker

例如,集群原有linux/amd64的機(jī)器,需添加linux/arm64的機(jī)器,請按以下步驟操作:

  1. 在ACK集群管控頁面添加新的arm64節(jié)點(diǎn)池,節(jié)點(diǎn)池配置中添加污點(diǎn)kubernetes.io/arch=arm64,且Effect設(shè)置為NoSchedule,確保只有指定運(yùn)行在ARM節(jié)點(diǎn)上的應(yīng)用和組件才會被調(diào)度至ARM節(jié)點(diǎn)上。操作入口,請參見創(chuàng)建節(jié)點(diǎn)池

  2. 在EDAS應(yīng)用高級設(shè)置頁簽配置調(diào)度策略,設(shè)置節(jié)點(diǎn)親和性調(diào)度容忍,調(diào)度至arm64的應(yīng)用。

    image.pngimage.png

構(gòu)建鏡像任務(wù)一直在執(zhí)行中或失敗時(shí),怎么辦

構(gòu)建倉庫類型為ACR倉庫時(shí),當(dāng)構(gòu)建鏡像任務(wù)一直在執(zhí)行中或失敗時(shí),可通過以下命令查看相關(guān)狀態(tài)。

  1. 執(zhí)行以下命令,查詢構(gòu)建鏡像的Pod狀態(tài)及名稱。

    kubectl get pods -o wide | grep -i 應(yīng)用名 | grep imagebuild
  2. 執(zhí)行以下命令,查看構(gòu)建鏡像日志。

    kubectl logs Pod名稱

應(yīng)用Pod狀態(tài)為Error或CrashLoopBackOff時(shí),怎么辦

  1. 執(zhí)行以下命令,查詢Pod日志。

    kubectl logs Pod名稱

    日志顯示:

    exec /bin/sh: exec format error

    請檢查所選鏡像架構(gòu)是否包含節(jié)點(diǎn)架構(gòu)。如果不包含,請參見如何在一個(gè)已經(jīng)運(yùn)行應(yīng)用的集群上,添加不同架構(gòu)的Worker,并調(diào)度至新架構(gòu)Worker,完成相關(guān)配置。

應(yīng)用啟動(dòng)或執(zhí)行很慢時(shí),怎么辦

  1. 在Pod容器中運(yùn)行以下命令:

    ps -ef | grep java

    java命令前有qemu字樣,表明當(dāng)前節(jié)點(diǎn)使用qemu模式運(yùn)行該鏡像。請參見如何在一個(gè)已經(jīng)運(yùn)行應(yīng)用的集群上,添加不同架構(gòu)的Worker,并調(diào)度至新架構(gòu)Worker,完成相關(guān)配置。

相關(guān)文檔

非WAR包、JAR包創(chuàng)建及部署應(yīng)用場景下,支持多鏡像目標(biāo)架構(gòu)參考文檔如下所示: