本文介紹如何部署代碼類型組件實例,以及如何查看其部署記錄和部署日志。
前提條件
已在項目中創建環境。關于如何創建環境,請參見創建和管理項目環境。
已添加代碼類型組件。具體操作,請參見添加和管理代碼類型組件。
已在項目中配置用于存放構建代碼類型組件的鏡像。具體操作,請參見配置項目可使用的鏡像倉庫。
部署代碼類型組件實例
登錄BizWorks,在選擇平臺下拉列表中選中微服務開發平臺。
單擊頁面右上角圖標或其文本框區域,在下拉列表中單擊目標項目名稱后,單擊應用頁簽。在應用列表頁面單擊目標托管應用名稱。
在目標托管應用導航欄中,選擇 。
在應用部署頁面,選擇需要部署的環境,單擊目標環境卡片右上角的圖標。
說明應用部署頁面不僅支持顯示一個環境下的不同組件的多個實例,以及每個實例下的工作負載,而且能夠顯示每個工作負載的類型。
只有企業級用戶、項目負責人和應用負責人賬號角色,既能看到開發環境和測試環境下的環境信息,也能看到預發環境和生產環境下的環境信息,并能進行部署、更新實例等操作。其他賬號角色只能看到開發環境和測試環境下的環境信息,在相應的環境下也能進行部署、更新實例等操作。
關于BizWorks的賬號體系的詳細信息,請參見平臺賬號和權限說明。
在創建部署實例 - 選擇部署組件面板,選中目標代碼類型組件,單擊下一步。
說明當前環境下已部署的組件不能重復創建部署。
在創建實例部署 - 部署配置面板,完成配置如下圖所示的相關參數后,單擊下一步。
配置項
說明
組件來源
支持分支和Tag模式,根據您的需求分別在對應的下拉框中選擇對應的分支或Tag。
如果您選擇分支,可設置Commit ID(非選填)。
說明Commit ID為空時,則默認使用該分支的最新版本,實例部署成功后平臺會將代碼檢出時的Commit ID進行記錄;實例更新部署時,Commit ID默認也是為空,如需指定版本,需要您再次設置。
流水線
在選擇流水線下拉列表中,選擇目標流水線。
默認流水線:BizWorks內置的流水線,包含拉取代碼、編譯代碼、構建鏡像和部署應用等基本功能。
自定義流水線:下拉列表中列出的自定義流水線,同時滿足了以下條件:
自定義流水線關聯的組件是待部署組件。
自定義流水線需包含部署到目標環境任務步驟,且目標部署環境類型中,包含待部署組件部署的環境類型。關于如何新增流水線任務步驟,請參見新增自定義流水線。
說明如果您可以找到有滿足條件的自定義流水線,則將無法使用默認流水線(即默認流水線不顯示);如果您未找到滿足條件的自定義流水線,則仍然可以使用默認流水線部署應用。
三方流水線:
您可以通過集成三方流水線產品,使用DevOps中更多的能力。如果您已經為應用添加三方流水線,則可以選擇三方流水線部署應用實例。關于如何集成三方流水線,請參見三方流水線集成概述 。
如果您已經開啟項目流水線配置開關,則在部署流水線下拉列表中,不會出現默認流水線的選項。關于如何打開項目流水線配置開關,請參見創建和管理三方流水線連接配置。
部署配置
部署策略:
默認策略:按照滾動方式進行發布,每次啟動一個新副本,就緒后停掉一個老副本,直到全部完成。
自定義策略:可選擇按Pod數或按百分比。
高級選項:單擊添加,完成相關配置項設置。
容忍度:支持選擇目標環境上已經部署成功的記錄為基礎,在其基礎上確定應用模板需要的鏡像信息、部署參數等。
Key和Value的配置規則如下:
Key:
不能超過253個字符。
支持字母、數字、短劃線(-) 和半角句號(.)。
需以字母、數字字符(a~z、0~9、A~Z)開頭和結尾。
Value:
不能超過63個字符。
支持字母、數字、短劃線(-)和半角句號(.)。
如果標簽值不為空,則需以字母、數字字符(a~z、0~9、A~Z)開頭和結尾。
網絡訪問
配置訪問部署實例規則。
BizWorks針對常見的網絡訪問需求,在Kubernetes的Ingress、Service的網絡模型基礎上進行了簡化,方便研發團隊快速進行部署和調試。如果您有更多的網絡訪問需求,可以在部署完成后,直接在納管集群上進行相關配置。網絡訪問支持兩類簡化場景:
僅集群內被調用:集群內使用Service名稱進行實例調用。
集群內外均可被調用:集群外使用HTTP協議或其他TCP/UDP協議調用實例,集群內同樣使用Service名稱調用實例。
資源配置
配置實例總數和單實例資源配額。其中,CPU資源的約束和請求以CPU為單位,如果數值為0.1則等價為100 mCPU;內存的約束和請求以字節為單位,如果數值為1024 MiB則等價為1024 MB。資源限制需大于資源預留。
配置網絡訪問
在創建實例部署 - 部署配置面板的網絡訪問區域,單擊+網絡訪問配置。
設置容器開放的協議(支持TCP和UDP)和端口。
選擇允許的被調用范圍。
如果您選中僅集群內被調用,則使用自動生成的Service名稱和端口進行實例的調用。
如果您選中集群內外均可被調用,集群外調用方式選中HTTP(使用HTTP方式供集群調用)時,支持域名+Path的路由方式。平臺提供兩種典型的快速配置(快速配置(獨立域名)和快速配置(Path匹配)),您可以單擊調用域名的文本框,在下拉列表中選擇目標調用域名。
Path配置規則:
支持大小寫英文字母、數字和字符
_@#%*./-
組合。需以正斜線(/)開頭,不能以正斜線(/)結尾,Path中不支持多個正斜線(//)在一起。
最長不超過50個字符。
說明如果您需要使用Path(即Path內容不是正斜線(/)時)進行路由時,平臺將會默認增加Ingress的Rewrite規則,即將啟用Rewrite參數設置為是。
如果您不需要使用Path(即Path內容是正斜線(/)時)進行路由時,平臺將會默認不增加Ingress的Rewrite規則,即將啟用Rewrite參數設置為否,且不顯示啟用Rewrite參數。
Rewrite的支持范圍:目前平臺僅支持Kubernetes提供的Nginx Ingress的Rewrite規則,暫不支持App Root。更多信息,請參見Rewrite - NGINX Ingress Controller。
不支持將調用域名配置為環境域名,Path配置為正斜線(/)的場景。
如果您選中集群內外均可被調用,集群外調用方式選中TCP/UDP(使用非HTTP方式供集群調用),則平臺會使用Kubernetes的NodePort方式讓實例被集群外調用。
在創建實例部署 - 環境配置面板,完成環境配置后,單擊開始部署。
可選:設置生命周期管理。
可選:設置環境變量。
可選:設置存儲。
可選:設置健康檢查。
可選:設置標簽。
配置項
說明
生命周期管理
重要如果您不了解原Dockerfile鏡像的CMD或ENTRYPOINT信息,建議您不要自定義啟動命令和啟動參數,錯誤的自定義命令會導致應用部署失敗。
由于Docker運行時僅支持一條ENTRYPOINT命令,所以在創建實例部署 - 環境配置和更新實例部署 - 環境配置頁面設置的啟動命令會覆蓋在制作容器Docker鏡像時設置的ENTRYPOINT和CMD命令。
啟動命令:在啟動命令文本框中輸入啟動命令,例如:nginx。
啟動參數:每個啟動參數單獨占據一個文本框。例如:在文本框中輸入參數-g,然后單擊啟動參數文本框下的添加,在新增的文本框中輸入參數daemon off。
環境變量
環境變量支持批量配置。
您可以自定義添加配置。例如,
TZ
:代表時區,取值為Asia/Shanghai
。存儲
設置容器運行環境中需要的外部存儲配置。
存儲類型:支持PVC類型。使用PVC類型的存儲時,請您確保使用的PVC沒有被其他負載獨占使用。
掛載源:平臺不支持托管PVC相關資源,如果您在當前應用部署集群中沒有可用的PVC,請前往相應的集群創建PVC。具體操作,請參見創建持久化存儲卷聲明。
容器中的路徑:自定義容器中的文件路徑。
說明系統不支持EDAS類型的容器集群設置容器運行環境中需要的外部存儲配置,EDAS類型的容器集包括:阿里云企業級分布式應用服務(EDAS)和阿里云企業級分布式應用服務(EDAS)。更多關于集群的信息,請參見接入集群。
您在指定環境中部署需要使用的PVC時,請先在此環境對應的K8s的
namespace
中手動創建PVC,PVC的accessModes
如果是指定模式,系統會按照K8s規范進行限制。更多信息,請參見persistent-volumes。
健康檢查
在Liveness配置和Readiness配置頁簽,分別配置以下參數:
initialDelaySeconds:表示開始探測容器的延遲時間。當該參數值設置為0,表示在容器啟動后立即開始探測。
在Liveness配置頁簽下,該參數的默認值為60;在Readiness配置頁簽下,該參數的默認值為10,單位為秒(s)。
PeriodSeconds:表示探測容器的周期。當該參數值設置為10,表示每隔10s探測一次容器。默認值為10,單位為秒(s)。
SuccessThreshold:表示探針探測成功的閾值。在達到該次數時,表示成功。默認值為1,表示只要成功一次,則算成功。
TimeoutSeconds:表示探測時容器響應的最大超時時間。當該參數值設置為1,表示容器必須在1s內進行響應,否則這次探測記作失敗。默認值為1,單位為秒(s)。
FailureThreshold:表示探針探測失敗的閾值。在達到該次數時,表示失敗。默認值為3,表示只要失敗3次,則重啟容器。
配置選擇模式:
Path:健康檢查的探針對應的接口路徑,例如:/actuator/health/liveness。
Port:部署應用的端口號。例如:如果您選擇的應用實類型是中心中臺應用,端口號可以配置為8080;如果您選擇的應用實例類型是托管應用,端口號可以配置為8083。
Scheme:支持HTTP協議。
HTTPHeaders:HTTP請求頭信息,包括名稱和變量值。
標簽
為Deployment和Pod添加K8s標簽(Label)。平臺僅支持管理通過BizWorks添加的標簽。
頁面提示創建成功,同時環境中新增一個正在執行中的實例組件卡片。
查看代碼類型組件實例的部署記錄和部署日志
僅支持查看實例部署類型為更新和創建的日志信息。
在應用部署頁面,單擊目標實例組件卡片,在目標實例組件面板的部署記錄區域,查看部署記錄。
單擊目標部署記錄ID右側的日志,您可查看此次部署過程的流水線詳細日志。
查看結果如下:- 如果部署流水線選擇的默認流水線,則流水線部署日志如下圖所示。
- 如果部署流水線選擇的三方流水線,則流水線部署日志如下圖所示。
您可以單擊查看更多運行記錄,在流水線實例頁面查看更多運行記錄。
如果部署流水線選擇的自定義流水線,則自定義流水線部署日志如下圖所示。
本文以增加了流水線控制任務的流水線為例,說明自定義流水線的應用部署日志詳情。
處于審批流的部署日志詳情如下。
單擊查看進度,在進度詳情頁面,您可以查看具體訪問進度。
您也可以在部署實例詳情面板的部署記錄區域,單擊目標部署記錄右側的詳情。在目標部署記錄的部署記錄詳情面板,單擊審批進度,進入審批進度詳情頁。
如果您想終止自定義流水線的部署流程,單擊實例變更記錄對話框中的終止流程。在二次確認對話框中,單擊確定。
可選:查看指定部署記錄的詳細部署配置。
單擊目標部署記錄ID右側的詳情。
在部署記錄詳情面板,您可以查看部署內容、資源規格和部署策略等信息。
如果您需要回滾到此版本,則單擊回滾到此版本。在回滾應用部署對話框中,設置回滾策略和發布量后,單擊回滾。