1. 程式人生 > 其它 >雲效應用交付平臺 AppStack,10分鐘完成程式碼提交到上線

雲效應用交付平臺 AppStack,10分鐘完成程式碼提交到上線

雲效應用交付平臺 AppStack 是什麼? 雲效應用交付平臺 AppStack是一款開發者友好的、以應用為核心的雲原生應用交付平臺,提供應用編排、環境管理、部署運維、資源管理、應用釋出等一站式能力,幫助企業建立應用持續交付整體解決方案,加速企業雲原生與 DevOps 轉型,提升團隊研發效能。 你僅需以下5步即可完成程式碼提交到上線的應用研發交付流程: 1、新建應用 2、編排應用部署架構 3、為應用環境分配資源 4、將應用部署到環境 5、配置應用釋出流水線 現在開始吧!

Step1: 新建應用

  1. 在雲效AppStack 應用列表處點選 新建應用
  2. 填寫 應用ID,應用ID一旦建立後不可修改,支援1-63個小寫英文字母、數字和“-”,不能以“-”開頭或結尾
  3. 點選 確認 即可建立一個應用

Step2: 編排應用部署架構

  1. 點選進入剛才建立的應用
  2. 應用-編排 處,點選 從模版建立 ,選擇一個應用編排模版,一個應用通常包含 Kubernetes 的工作負載、網路、配置、儲存等資源型別,你可以在此處預覽模版中包含的元件配置詳情
  3. 在本例中我們選擇雲效示例模版,一個典型的微服務應用部署架構包含 無狀態服務Deployment、服務發現Service、路由Ingress三個元件,點選“確定”即可生成應用的編排
  4. 使用雲效示例模版可以直接進行部署,你也可以點選 編輯 對應用編排進行進一步的修改
  5. 雲效AppStack的應用編排採用 Kubernetes YAML 檔案來描述,你可以點選 + 按鈕新增更多元件
雲效AppStack提供了佔位符機制,你可以使用佔位符替換 YAML 檔案中的部分關鍵字,以便達到一套編排多環境差異化部署的效果,AppStack 預置了一些常用的佔位符來簡化你的配置,你也可以新增更多自定義的佔位符。 例如:我們通常會使用 Kubernetes 的多個名稱空間(namespace)來隔離多套環境,開發環境使用 dev,測試環境使用 test,生產環境使用 production。在 YAML 檔案中將 namespace 這個關鍵字的值替換為佔位符。 {{ .AppStack.namespace }},佔位符的又被賦值為變數 ${namespace},這個變數在預設生成的三個環境使用的值分別為 dev、test、production,在發起部署時進行模版渲染變數替換,雲效AppStack 最終會將應用部署到指定的 Kubernetes 名稱空間中。
除多環境差異化部署之外,佔位符和變數組的機制還可以在企業內實現統一定義編排模版簡化應用編排的效果,即使不熟悉的 Kubernetes 的使用者,在模版基礎上僅修改部分佔位符或變數的值就可以完成應用編排。

Step3: 為應用環境分配資源

雲效AppStack 為每個應用預設生成了三套環境:開發環境、測試環境、生產環境,你也可以根據實際情況新增或刪除環境。在部署應用之前,我們需要為環境分配資源,指定使用的 Kubernetes 叢集。 1、點選 匯入資源 來匯入 Kubernetes 叢集,支援阿里雲容器服務 ACK叢集、其他雲廠商提供的叢集或是自建的 Kubernetes 叢集 2、如果使用阿里雲容器服務 ACK叢集,則點選 新建服務連線 進行授權,授權後可以列出當前帳號下所有 ACK 叢集,選擇所需叢集,設定資源ID(建立後不可更改)和資源名稱,點選 確定 後即可匯入叢集 3、如果使用其他雲廠商提供的叢集或是自建的 Kubernetes 叢集,則選擇 通用 Kubernetes 叢集,輸入叢集生成的 KubeConfig 檔案內容,設定資源ID(建立後不可更改)和資源名稱,點選 確定 後即可匯入叢集。注意⚠️:Kubernetes 叢集的 API Server 可以從公網訪問,否則無法正常匯入 4、在 環境-快速設定-資源 處,選擇剛才匯入的叢集,點選 確定 即將叢集資源分配給改環境使用

Step4:將應用部署到環境

1、在 應用-環境 處,選擇需要部署的環境點選 立即部署 2、在部署單介面按實際情況修改部署選項,例如需要部署的映象地址、部署策略、資源規格大小,這些選項的預設值可以在 Step2 應用編排 中定義,也可以在發起部署時進行修改 3、 點選 確認 後,開部署工單開始執行 區域1是部署環境列表,AppStack 支援在一個部署工單中批量部署多個環境,適合一個版本釋出到多個地區的生產環境等場景,一起部署一起回滾。 區域2是對選中環境的部署過程控制,支援在部署中進行暫停、繼續、回滾、終止操作,一旦發現問題可應急處理。 區域3是選中元件的部署程序,以Deployment型別為例,展示部署的批次資訊、新老版本此消彼長的過程,使部署程序一目瞭然。一個方格代表一個 Kubernetes Pod,點選展示Pod的基本資訊、關鍵事件和容器日誌。可以通過檢視容器日誌瞭解應用服務是否正常啟動。 4、 部署完成後,返回環境詳情頁,可以看到應用元件的執行情況,並可以對環境進行部署、回滾、擴縮容、鎖定等操作 至此,完成了將一個應用的映象部署到環境中的操作,接下來通過配置雲效流水線,實現從程式碼分支到釋出上線的過程。

Step5: 配置應用釋出流水線

1、在 應用-釋出 處,點選新建流水線,選擇AppStack 推薦模版 2、為流水線新增程式碼源,詳見 流水線源 3、配置映象構建任務,設定映象倉庫地址,詳見 構建阿里雲容器映象 4、配置AppStack部署任務,選擇需要部署的應用環境,使用的映象,示例中 標籤.${DATETIME} 是上一個映象構建任務輸出的構建產物 5、點選 儲存並執行 ,流水線開始執行,如果環境是首次部署,需要點選 建立部署單 按鈕手動提交部署單,再次部署則可以自動提交部署單 6、根據自身業務流程,繼續設定開發階段、測試階段、生產釋出階段所使用到的流水線,更多流水線使用說明詳見 雲效流水線 Flow 至此,你已經完成了一個應用從開發、測試、生產釋出按環境逐級晉升的應用研發交付上線流程設定。 以應用為核心來組織研發、測試、交付、運維活動,高效、安全、有序。介紹給你的團隊吧 雲效應用交付平臺 AppStack 是一款開發者友好的、以應用為核心的雲原生應用交付平臺,提供應用編排、環境管理、部署運維、資源管理、應用釋出等一站式能力,幫助企業建立應用持續交付整體解決方案,加速企業雲原生與 DevOps 轉型,提升團隊研發效能。