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

配置鏡像目標架構

隨著ARM64架構服務端的流行,為了讓您選擇更加多元化,EDAS在K8s集群中使用WAR、JAR包部署應用時,支持選擇多平臺架構。本文介紹如何在EDAS控制臺配置鏡像目標架構。

使用限制

  • 僅支持Kubernetes ACK集群。

  • 僅支持使用WAR、JAR包部署應用的場景。

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

  • 構建倉庫類型為ACR倉庫時,您使用的是自己的鏡像構建機器。此時,需使用Linux內核版本大于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. 登錄容器服務管理控制臺,在左側導航欄選擇集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇應用 > Helm

  3. Helm頁面,檢查是否有ack-onepilot,且Chart版本≥3.0.13。如果沒有,請在運維管理 > 組件管理頁面,查找ack-onepilot,進行安裝或升級。

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

操作步驟

您可在創(chuàng)建或部署應用時,配置鏡像目標架構。

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

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

  3. 應用配置頁簽的鏡像目標架構右側,選擇所需架構,單擊下一步

    • linux/amd64:指構建的鏡像支持運行在Linux x86_64平臺架構上。

    • linux/arm64:指構建的鏡像支持運行在Linux arm_64平臺架構上。

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

    場景

    建議

    優(yōu)缺點分析

    不同的應用運行在不同的架構上

    推薦。

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

    缺點:需為ARM架構的Worker打上污點,同時調度到ARM架構的應用需配置調度策略。具體操作,請參見如何在一個已經運行應用的集群上,添加不同架構的Worker,并調度至新架構Worker

    同一個應用的Pod被隨機調度到不同架構的機器上

    不推薦。

    優(yōu)點:無需配置調度策略。

    缺點:兩種架構的機器性能通常不一致。在負載較重時,對于微服務應用,如果Consumer端使用round robin策略,可能導致性能差的機器工作隊列堆積,從而造成運行慢的機器RT拉長,性能好的機器空閑。

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

    說明

    鏡像目標架構選擇多種架構時,構建時間較長,分為以下兩種情況:

    • 構建倉庫類型EDAS鏡像倉庫時,由于使用EDAS構建機器,機器性能較好,多一種架構構建時間增加10~60秒之間。

    • 構建倉庫類型為ACR倉庫時,構建機器使用自己的機器,默認限制了CPU性能,多一種架構構建時間增加2~6分鐘之間。

      建議構建機器使用amd64機器,可通過為機器添加標簽edas.image.build: enable,讓構建任務調度至指定機器。請參見如何調整鏡像構建資源限制?, 調整資源限制加速構建鏡像。

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

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

  6. 應用變更預檢確認對話框,單擊開始預檢

    1. 應用變更預檢確認的下一頁,確認預檢項和預檢結果,單擊繼續(xù)

    2. 可選:如您有更改以上預檢項,請單擊重新檢測

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

    說明

    預檢任務將為多架構部署檢查以下異常情況。

    • 所選架構沒有相應架構的Worker節(jié)點。例如,在EDAS中僅選擇linux/arm64,但集群只有linux/amd64的Worker節(jié)點。

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

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

常見問題

如何在一個已經運行應用的集群上,添加不同架構的Worker,并調度至新架構Worker

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

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

  2. 在EDAS應用高級設置頁簽配置調度策略,設置節(jié)點親和性調度容忍,調度至arm64的應用。

    image.pngimage.png

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

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

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

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

    kubectl logs Pod名稱

應用Pod狀態(tài)為Error或CrashLoopBackOff時,怎么辦

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

    kubectl logs Pod名稱

    日志顯示:

    exec /bin/sh: exec format error

    請檢查所選鏡像架構是否包含節(jié)點架構。如果不包含,請參見如何在一個已經運行應用的集群上,添加不同架構的Worker,并調度至新架構Worker,完成相關配置。

應用啟動或執(zhí)行很慢時,怎么辦

  1. 在Pod容器中運行以下命令:

    ps -ef | grep java

    java命令前有qemu字樣,表明當前節(jié)點使用qemu模式運行該鏡像。請參見如何在一個已經運行應用的集群上,添加不同架構的Worker,并調度至新架構Worker,完成相關配置。

相關文檔

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