使用 OCI DevOps 部署基於 Helm 的應用 雲開發的創新之旅

Mondo 科技 更新 2024-02-01

軟體的快速交付對於在雲中高效執行應用程式至關重要。 通過管道部署自動化軟體發布可提高開發人員的工作效率,並允許您更頻繁地發布功能並減少錯誤。 它有助於避免部署期間的停機時間,並自動執行更新應用程式的複雜性。 Oracle Cloud Infrastructure DevOps 為開發人員提供端到端的持續部署體驗。 Oracle Cloud Infrastructure DevOps 服務包括部署管道,用於自動執行到 Oracle Cloud Infrastructure (OCI) 平台(Oracle Cloud Infrastructure Container Engine Kubernetes、Oracle Functions 和 Oracle Cloud Infrastructure 計算例項)的持續軟體交付和部署過程 (CD)。 Oracle 雲基礎設施適用於在本地部署或從其他雲遷移工作負載的客戶,以及在 OCI 上開發新應用的客戶。 此體系結構顯示了使用 Oracle Cloud Infrastructure (OCI) DevOps 服務從儲存庫部署的 NodeJS 應用程式的示例。 應用程式將部署到 Oracle Cloud Infrastructure Container Engine Kubernetes (OKE) 集群。 為了簡化流程,我們使用 Terraform 進行基礎架構自動化。 下圖演示了此參考體系結構。

此架構由以下元件組成:地區Oracle Cloud Infrastructure 區域是乙個地理位置受限的區域,其中包含乙個或多個資料中心(稱為可用性域)。 區域獨立於其他地區,並且可能相距很遠(跨國家甚至跨大陸)。

虛擬雲網路 (VCN) 和子網VCN 是在 Oracle Cloud Infrastructure 區域中設定的可定製的軟體定義網路。 與傳統的資料中心網路一樣,VCN 可讓您完全控制網路環境。 乙個 VCN 可以有多個不重疊的 CIDR 塊,您可以在建立 VCN 後更改這些塊。 您可以將 VCN 劃分為多個子網,這些子網的範圍可以限定為區域或可用性域。 每個子網都包含一系列連續位址,這些位址不與 VCN 中的其他子網重疊。 您可以在建立子網後更改子網的大小。 子網可以是公有子網,也可以是私有子網。

OCI DevOps 專案OCI DevOps 專案是實施持續整合和部署 (CI CD) 工作負載所需的資源的邏輯分組。 OCI DevOps 資源可以是構件、部署管道和環境。 借助 OCI DevOps 專案,您可以輕鬆為 OCI DevOps 資源啟用日誌記錄、監控和通知功能。

構建管道生成管道從源儲存庫獲取提交 ID,並使用該源執行生成說明。 構建管道定義了構建過程的一系列階段:構建、測試和編譯軟體構件,將構件交付到 OCI 儲存庫,以及選擇性地觸發部署。 您可以在生成規範檔案中定義生成執行的過程和說明。

構建階段生成階段是在生成管道執行期間發生的單個操作。 OCI DevOps 構建管道由三個階段組成:

構建容器:執行構建規範YAML 指令來編譯、構建和準備必要的工件。

上載工件:上載所有準備好的工件(如 Docker 映像),以推送到配置的 Oracle Cloud Infrastructure 登錄檔儲存庫。

觸發部署:觸發部署管道的 OKE,以將更改應用於配置。

部署管道部署管道包含將一組專案交付到環境中需要滿足的要求。 管道包含階段,這些階段是管道的構建基塊。 管道可以具有序列或並行執行的階段,因此您可以控制軟體版本的流程和邏輯。

部署階段階段是在管道執行期間發生的單個操作。 OCI DevOps 部署管道僅包含乙個預定義階段(稱為 Deployment Helm),用於使用 Helm 圖表部署 Kubernetes 應用。 helm 圖表 URL 和可選值YAML 檔案將作為 OCI DevOps 專案傳送到部署 Helm 階段。 在執行期間,Helm 階段從 Oracle Cloud Infrastructure Registry 獲取 Helm 圖表,並將其應用於配置的 OKE OCI DevOps 環境,並選擇性地提供值yaml 檔案。

DevOps 工件OCI DevOps 工件是對構成應用的任何檔案、二進位檔案、包、清單或映象的引用或指標。 建立工件時,必須將實際工件的源位置通知 OCI DevOps。 OCI DevOps 支援 OCI 容器登錄檔和 OCI 構件登錄檔儲存庫。

專案儲存庫物品倉庫用於建立用於對相似物品進行分組的倉庫。 建立儲存庫後,您可以上傳專案。 這些專案是文字檔案、二進位檔案和部署清單的集合,將傳遞到目標部署環境。 每個工件都有乙個名稱,由其路徑組成:version。 路徑是用於組織工件的字串。

helmHelm 是 Kubernetes 的包管理器,它將應用程式部署作為一組 Helm 圖表進行管理,使您能夠輕鬆管理單個服務及其生命週期。

Oracle Linux 的 Helm 模組將 Helm 安裝到 Kubernetes 模組(集群)中。

Helm 圖表Kubernetes YAML 清單將合併到乙個包中,該包可以部署到 Kubernetes 集群。 Helm 圖表包含 Kubernetes YAML 清單檔案的模板和乙個值YAML 檔案來提供預設模板值。 使用 helm 圖表部署應用程式或大型應用程式的元件。

OCI 日誌和 OCI 通知Oracle Cloud Infrastructure 日誌和 Oracle Cloud Infrastructure 通知儲存與您的部署相關的日誌。 部署執行時輸出和部署的最終結果顯示為日誌條目。 OCI 通知提供對部署專案及其資源的最新狀態的可見性,並採取必要的措施。

部署環境環境是客戶計算資源的集合,其中部署了專案。 環境可以是函式、計算虛擬機器 (VM) 或裸機例項,也可以是 OKE 群集。

Oracle Kubernetes 集群 (OKE):OCI 容器引擎是面向 Kubernetes 的完全託管、可擴充套件且高度可用的服務,可用於將容器化應用部署到雲中。

計算例項:借助 OCI 計算,您可以在雲中配置和管理計算主機。 您可以啟動滿足 CPU、記憶體、網路頻寬和儲存資源需求的計算例項。

功能:Oracle Functions 是乙個完全託管、多租戶、高度可擴充套件的按需功能即服務 (FaaS) 平台。 它基於企業級 OCI 構建,由 FN Project 開源引擎提供支援。

此體系結構使用 OKE 群集作為環境。 環境可以位於與部署管道的區域不同的 OCI 區域中。 這樣,開發人員就可以使用相同的部署管道在多個 OCI 區域中進行部署。

使用以下建議作為起點。 您的需求可能與此處描述的體系結構不同。 虛擬雲網路 (VCN)。建立 VCN 時,請根據計畫連線到 VCN 子網的資源數量確定所需的 CIDR 塊數和每個塊的大小。 在標準專用 IP 位址空間中使用 CIDR 塊。

建立 VCN 後,可以更改、新增和刪除其 CIDR 塊。

此體系結構使用公共 VCN 來託管 OKE 群集。 您也可以使用專用 VCN。 在這種情況下,請使用 NAT 閘道器使群集能夠通過公共 Internet 訪問。

計算形狀此體系結構使用具有 E4 彈性配置的 Oracle Linux OS 映像,以最少的資源在 OKE 群集節點中託管計算主機。 如果應用程式需要更多記憶體或核心,則可以從不同的配置中進行選擇。

kubernetes(oke)此體系結構作為目標終結點部署到 OKE 群集。 工作節點部署在 E4 Oracle Linux OS 上。 此體系結構在乙個群集中使用三個工作節點,但每個群集上最多可以建立 1000 個節點。

容器映象倉庫此架構將登錄檔部署為供內部使用的專用 docker 登錄檔。 docker 映像被推送到登錄檔並從中拉取。 您還可以將登錄檔用作公共 Docker 登錄檔,使任何具有 Internet 訪問許可權並了解相應 URL 的人都可以從 Oracle Cloud 中的公共儲存庫中提取映像。 在此架構中,同一容器登錄檔也用於儲存 Helm 圖表。

專案登錄檔此體系結構為 OKE 群集使用的軟體和配置建立專案。 架構將建立乙個專案登錄檔儲存庫供內部使用。 軟體二進位檔案、文字和部署配置將上傳到專案登錄檔儲存庫或從專案登錄檔儲存庫上傳。

部署此參考體系結構時,請考慮以下幾點。 Oracle Cloud Infrastructure DevOps 支援的部署DevOps 支援部署到 Kubernetes (OKE)、計算主機和 Oracle Functions。 此體系結構使用 helm 圖表部署到 OKE 群集。 請考慮根據需要部署到其他終結點。

支援的主機僅支援將例項組部署到 Oracle Cloud Infrastructure 計算例項的 Linux 主機。

產品使用 Oracle Cloud Infrastructure DevOps 部署的工件必須駐留在 Oracle Cloud Infrastructure 工件登錄檔或容器映像登錄檔儲存庫中。

專案最佳做法是將每個應用程式及其所有微服務分組到乙個專案中。

GitHub 上提供了此參考體系結構的 Terraform。 使用 Oracle Cloud Infrastructure Explorer 中的示例堆疊進行部署:

點選並輸入租戶和使用者憑據(如果尚未輸入)。

選擇要在其中部署堆疊的區域。

按照螢幕上的提示和說明建立堆疊。

建立堆疊後,單擊 Terraform 操作,然後選擇 Plan。

等待作業完成並檢視計畫。

如果您需要進行任何更改,請返回到堆疊詳細資訊頁面,單擊編輯堆疊,然後進行必要的更改。 然後,再次執行計畫操作。

如果不需要進行任何進一步的更改,請返回堆疊詳細資訊頁面,單擊 Terraform 操作,然後選擇應用。

在 GitHub 中使用 Terraform 進行部署:Deploy using Terraform in GitHub:訪問 GitHub。

轉殖或儲存庫到本地計算機。

按照 README 文件中的說明進行操作。

作為甲骨文標準合作夥伴,Agilewing正在重新定義企業體驗甲骨文雲服務的方式。 憑藉其簡化的開戶流程和一流的技術支援,雅居翼將複雜的開戶和操作流程轉變為簡單、直觀的體驗。 借助我們的一站式服務,您可以快速啟動並執行全套 Oracle 雲服務,從而無縫整合到雲中。 Agilewing 的 AgileCDN 服務與 OCI 基於雲的服務相結合,可提供一流的全球內容加速解決方案。 由2,800多個全球POP節點和7,000個直接連線點組成的強大網路可確保您的業務擴充套件到全球的任何地方,都能確保高效穩定的運營。 利用 Oracle 雲的先進技術,Agilewing 致力於簡化雲服務構建、雲遷移和業務走出去的流程。 “我們的合作模式為客戶提供了經濟高效的解決方案,使他們能夠更專注於核心業務,同時享受 Oracle 雲的高效能和安全性。” Oracle 雲服務是乙個前景廣闊的領域,憑藉其高效能、安全性和全球一致的服務標準,為企業開啟了通往新機遇的大門。 通過雅樂之翼的專業服務,無論是個人使用者還是企業,都能輕鬆進入這個充滿技術創新和高效能的新時代。 讓 Agilewing 開始探索 Oracle 雲服務,開啟通往全新世界的大門。

相關問題答案

    五大部門 到2024年,使用者使用各類算力的成本將大幅降低

    人民網北京月日電 記者 沈家平 據國家資料局訊息,近日,國家發改委 國家資料局 國家網際網絡資訊辦公室 工業和資訊化部 國家能源局聯合印發 關於深入實施 東數西算 工程加快建設國家級 綜合算力網路 以下簡稱 實施意見 提出,到年底,使用者對各類算力的易用性將顯著提高,成本將大幅降低。據了解,實施意見...

    AI 使 HR 能夠使用 AI 設計有效的反饋調查系統

    背景 隨著技術的發展,人工智慧 AI 技術已經滲透到各個行業。人力資源管理作為企業運營的重要組成部分,也開始利用人工智慧技術來提高工作效率和員工滿意度。本文將結合乙個實際案例,人力資源部怎麼樣使用人工智慧設計有效的反饋調查系統 二 案例介紹 為了提高員工滿意度和工作效率,一家大型製造公司決定引入人工...

    6部相對冷門的南韓懸疑片,全都讓人大開眼界,尤其是最後一部

    探索南韓懸疑電影 六部冷門佳作全析 大家好,民生新聞博主又和大家見面了!今天,我們將揭開南韓電影的神秘面紗,探索那些你可能沒有聽說過,但令人嘆為觀止的冷門懸疑佳作。事不宜遲,讓我們一起深入了解這些電影的精髓。這部電影的劇本很了不起,但似乎有點粗糙。試想一下,如果我們細細地刻畫出來,老師的嘲笑 同學的...

    這10部午間劇,全都優秀,只能說你的眼光不錯

    相信大家都聽過這樣一句話 中午生產出來,一定是優質的產品。有些劇很適合多看幾遍,驚喜一遍又一遍,感情一遍又一遍。今天,我想推薦幾部適合n刷的優質劇。NO 琅琊邦 主演 胡歌 劉濤 王凱。豆瓣評分 分。該劇改編自海燕同名網路 以整治冤案 扶持明君 振興山川為主線,講述了 麒麟天才 梅長蘇才冠以病弱的身...

    熬夜必追的10部經典韓劇,看點十足,你喜歡上榜嗎?

    在忙碌的生活中,找乙個舒適安靜的時間,讓心靈得到片刻的平靜,是很多人熬夜時的共同願望,而看劇也成為了最流行的方式之一。今天,我精心挑選了熬夜必追的部經典韓劇,每部都有自己獨特的看點,讓你在半夜不僅能找到陪伴,還能被深深感動。.孤獨而輝煌的上帝 鬼魂 劇情非常飽滿豐富,很多互動都很搞笑,女主的演技生動...