附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱 Oracle Cloud Infrastructure Free Tier 入門。
- 它使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值取代為您雲端環境特定的值。
使用 Jenkins 設定 CD3 以建立及匯出 Oracle Cloud Infrastructure 資源
簡介
Cloud Deployment Design Deliverable (CD3) 自動化工具套件可讓您輕鬆將 Microsoft Excel 範本轉換成功能完整的 Terraform 模組,輕鬆建立、匯出及管理 Oracle Cloud Infrastructure (OCI) 資源。
此工具套件還支援使用 OCI DevOps Git 服務和 Jenkins 管線進行無縫資源管理。
目標
- 只要按一下即可啟動 CD3 容器,然後使用 Jenkins 管線建立、匯出 OCI 識別、網路及運算資源。
必要條件
-
Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 原則可允許使用者或執行處理主體管理使用工具程式建立或匯出所需的服務。
-
部署堆疊的使用者必須能夠存取以啟動 OCI 資源管理程式堆疊、運算執行處理以及網路資源。
工作 1:設定工具組容器
-
按一下部署至 Oracle Cloud ,即可啟動建立 CD3 WorkVM 的 OCI 資源管理程式堆疊。
-
接受條款與條件。輸入要建立之 workVM 的網路、區間、VM 名稱、資源配置等等。
注意:若要維護安全的環境,請提供存取 VM 的特定來源 CIDR 範圍。請勿使用
0.0.0.0/0
。 -
核取底部的執行套用段落,然後按一下建立。
-
套用工作成功之後,按一下工作並向下捲動至日誌結尾。
尋找所建立 VM 的詳細資訊,以及登入工具程式容器時所要執行的命令。顯示於下列影像中的範例輸出。
登入容器之後,請將其連線至 OCI 租用戶以執行 OCI API。
作業 2:將容器連線至 OCI 租用戶
-
瀏覽至
cd /cd3user/oci_tools/cd3_automation_toolkit/user-scripts/
並開啟tenancyconfig.properties
檔案。 -
在必要參數和認證詳細資訊參數段落中新增必要的組態值。
注意:在此教學課程中,我們將使用 API 金鑰認證。保留
auth_mechanism
為其預設值。 -
在 OCI 主控台的使用者設定值下,將公開金鑰上傳至 APIkeys 。將私密金鑰放在容器中。複製必要的組態值,然後貼到
tenancyconfig.properties
檔案中對應的參數底下。 -
將
outdir_structure_file
參數保留為預設值,以便將每個服務產生的auto.tfvars
檔案分組。 -
對於 IaC 工具,可選取 terraform 或 tofu 。預設值為 terraform。若要使用 OpenTofu,請指定 tofu 。
-
在DevOps 的進階參數下,選取
yes
作為use_oci_devops_git
參數。這會為產生的 terraform 檔案建立一個 OCI DevOps Git 儲存區域,為狀態檔案建立一個 OCI 物件儲存的儲存桶,而建立一個 OCI 通知主題以通知 DevOps 儲存區域中的變更。
-
儲存檔案並執行
createTenancyConfig.py
以初始化環境,然後開始使用 CD3。python createTenancyConfig.py tenancyconfig.properties
-
驗證輸出。
-
接下來,若要在 OCI 中建立資源,請依照任務 3 或匯出資源,請遵循任務 4 。
作業 3:在 OCI 中建立資源
作業 3.1:準備 Excel 與變數檔案
-
從此處下載此教學課程中預先填入的 excel 樣板: cd3quickstart.xlsx 。根據您的環境修改區域、區間值,然後切換至容器。
-
從容器開啟
/cd3user/tenancies/<prefix>/terraform_files/<region>/compute/variables_<region>.tf
。在instance_ssh_keys
變數下,新增 Excel 工作表中指定之 SSH 金鑰的變數名稱:ssh_public_key 及其對應值 (主要內容)。 -
在
instance_source_ocids
變數下,包括來源影像myimageocid
的 Excel 工作表中指定的變數名稱,並將其 OCID 指定為對應值。下列螢幕擷取畫面可供參考。 -
依序執行下列命令,將上述本機變更與 DevOps Git 儲存區域同步。
cd /cd3user/tenancies/<prefix>/terraform_files git status git add -A . git commit -m "msg" git push
作業 3.2:登入 Jenkins 並執行設定關聯管線
-
啟動 Jenkins 並使用容器中的下列命令存取它。
-
若要啟動 Jenkins,請使用
/usr/share/jenkins/jenkins.sh &
命令。 -
若要存取 Jenkins,請使用此 URL
https://<IP Address of the machine hosting docker container>:8443
。
-
-
登入 Jenkins。儀表板上會顯示
<prefix>
名稱的資料夾。按一下您使用的<prefix>
名稱。它具有對應的設定關聯管線和terraform_files
資料夾。按一下設定關聯管線,然後按一下以參數建立。注意:如果是第一次存取 Jenkins URL,請設定登入證明資料。
-
在 Excel 範本區段下,上傳在任務 3.1 中擷取的 Excel 檔案。
-
在工作流程下,選取在 OCI 中建立新資源 (Greenfield Workflow) 。
-
在 MainOptions 下,選取識別、網路及運算。
-
在 SubOptions 下,依序選取新增 / 修改 / 刪除群組、新增 / 修改 / 刪除原則、建立網路、新增 / 修改 / 刪除執行處理 / 啟動備份原則。
-
按一下建立。設定關聯管線階段會依序執行。
作業 3.3:提供每個服務計畫的核准
-
按一下日誌的識別階段,然後按一下識別套用管線組建的連結。在取得核准階段下,按一下日誌並選取繼續。查看套用階段下的日誌,以驗證建立的識別資源。
-
同樣地,從設定關聯管線的網路階段,按一下日誌,然後按一下網路套用管線組建的連結。在取得核准階段下,按一下日誌並選取繼續。檢查套用階段下的日誌,以驗證建立的網路資源。
-
按一下運算階段日誌。按一下此連結即可計算套用管線組建。
注意:您會發現運算地形管線失敗。這是因為運算資源依靠網路來準備就緒。若要解決此問題,請在網路套用管線成功後,手動觸發運算地形管線。下一步顯示如何執行此動作。
-
按一下運算套用管線的立即建立。管線階段開始執行之後,在取得核准階段下,按一下日誌並選取繼續。請查看套用階段下的日誌,以確認已建立的運算資源。
-
執行建立網路會在 VCN 中建立一些尚未在 CD3 Excel 工作表中的規則 (因為這些詳細資訊最初是從「子網路」頁籤取得)。若要將它們同步至 Excel 檔案,請使用與上述相同的 Excel 工作表再次建立設定關聯管線,將工作流程設為在 OCI 中建立資源,在主要選項下選取網路,然後選取下方子選項。
Security Rules ---> Export Security Rules (From OCI into SecRulesinOCI sheet), Add/Modify/Delete Security Rules (Reads SecRulesinOCI sheet) Route Rules ---> Export Route Rules (From OCI into RouteRulesinOCI sheet), Add/Modify/Delete Route Rules (Reads RouteRulesinOCI sheet) DRG Route Rules ---> Export DRG Route Rules (From OCI into DRGRouteRulesinOCI sheet), Add/Modify/Delete DRG Route Rules (Reads DRGRouteRulesinOCI sheet)
-
指定區間名稱。按一下組建,設定關聯管線階段就會開始執行。
-
Excel 工作表將填入安全性規則、路由規則、DRG 路由規則資料。這些服務會產生 Terraform
tfvars
檔案。 -
包含 OCI 匯出資料的更新 Excel 檔案存在於特定設定關聯組建的組建使用者自建物件底下。Excel 檔案也存在於
/cd3user/tenancies/<prefix>
下的容器中。 -
按一下網路階段日誌,然後按一下「網路」套用管線組建的連結。terraform 計畫應該顯示推斷 OCI 中這些服務的沒有變更,而 CD3 則同步。
-
這會在 OCI 中完成資源建立處理作業。請檢查在 OCI 主控台上建立的資源。
作業 4:從 OCI 匯出資源
工作 4.1:下載 CD3-Blank-template.xlsx
檔案
對於匯出工作流程,工具組會覆寫特定服務表中的任何現有資料。因此,建議使用預設沒有資料的 CD3-Blank-template.xlsx
。
從此處下載 CD3 空白範本:CD3- 空白 -template.xlsx 。
作業 4.2:登入 Jenkins
-
啟動 Jenkins 並使用容器中的下列命令存取它。
-
若要啟動 Jenkins,請使用
/usr/share/jenkins/jenkins.sh &
命令。 -
若要存取 Jenkins,請使用此 URL
https://<IP Address of the machine hosting docker container>:8443
。
-
-
登入 Jenkins。
注意:如果是第一次存取 Jenkins URL,請設定登入證明資料。
作業 4.3:執行設定關聯管線
-
在 Jenkins 儀表板上,會顯示
<prefix>
名稱的資料夾。按一下您使用的<prefix>
名稱。它具有對應的設定關聯管線和terraform_files
資料夾。按一下設定關聯管線,然後按一下以參數建立。 -
在 Excel 範本區段下,上傳在任務 4.1 中擷取的 Excel 檔案。
-
在工作流程下,選取從 OCI 匯出現有資源 (非格林菲爾德工作流程) 。
-
在 MainOptions 下,選取匯出識別、匯出網路及匯出運算。
-
在 SubOptions 下,選取匯出區間 / 群組 / 原則作為識別,選取匯出所有網路元件作為網路,選取匯出執行處理 (不包括由 OKE 啟動的執行處理) 作為運算。
注意:必要時,請在 AdditionalFilters 下新增詳細資訊,以篩選資源。
-
按一下建立。系統會針對每個服務執行設定關聯管線階段。
-
檢查執行匯入命令階段下的日誌。如果顯示成功,觸發的個別地形管線應將計畫階段顯示為無變更。
注意:如果您在計畫中找到任何變更,請複查並視需要套用。
-
包含 OCI 匯出資料的更新 Excel 檔案存在於特定設定關聯組建的組建使用者自建物件底下。Excel 檔案也存在於
/cd3user/tenancies/<prefix>
下的容器中。
相關連結
確認
- 作者 - Lasya Vadavalli (雲端資深工程師)、Dipesh Kumar Rathod (基礎架構首席雲端架構師)
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Configure CD3 with Jenkins to Create and Export Oracle Cloud Infrastructure Resources
F95150-04
October 2024