附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱開始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 憑證、租用戶及區間的範例值。完成實驗室時,請以雲端環境特有的值取代這些值。
在 Oracle Cloud Infrastructure 上安裝並設定 Pulumi Infrastructure as Code 工具
簡介
讓我們透過 Pulumi Infrastructure as Code (IaC) 工具簡化您的 Oracle Cloud 基礎架構 (OCI) 管理。本教學課程將探討如何安裝和設定 Pulumi,確保 Pulumi 能夠完美地融入您的工作流程。無論您是有經驗或開始使用 IaC,此教學課程都包含逐步說明。使用 OCI 上的 Pulumi 準備升級您的基礎架構管理。
在您的 OCI 設定上執行 Pulumi 之後,您會發現效率明顯提升。直接介面讓資源部署和管理變得簡單,並簡化您的 OCI 基礎架構管理。
目標
- 在 OCI 上安裝並設定 Pulumi IaC 工具以進行部署和管理。
必要條件
-
存取 OCI 租用戶。
-
具備存取 OCI 服務和資源權限的使用者帳戶。
作業 1:下載並安裝 Pulumi
在您的系統或虛擬機器 (VM) 上下載並安裝 Pulumi。如需詳細資訊,請參閱下載並安裝 Pulumi 。
例如,macOS 使用者可以執行下列命令來安裝 Pulumi。
brew install pulumi/tap/pulumi
工作 2:安裝 Pulumi 的 OCI 提供者套裝程式
OCI 提供者是 Pulumi 程式碼與您想要監督的 OCI 服務之間的連線。OCI 提供者可讓 Pulumi 透過程式碼在 OCI 環境中建立、管理及設定資源。
若要安裝 Pulumi 的 OCI 提供者,請前往命令行介面 (CLI) 並執行安裝命令。本教學課程將使用 Python 作為部署 OCI 服務的 Pulumi 語言。
python3 -m pip install pulumi_oci
若要使用其他語言安裝 OCI 提供者,請參閱 Pulumi 的 OCI 提供者。
作業 3:設定環境變數
設定必要的環境變數,以將 Pulumi 連線至您的 OCI 環境。這些變數包括您的租用戶 Oracle Cloud Identifier (OCID)、使用者 OCID、指紋、區域,以及您 OCI API 金鑰的路徑。
根據您的租用戶組態檔修改值,然後執行下列命令。
export TF_VAR_tenancy_ocid="ocid1.tenancy.oc1..<unique_ID>"
export TF_VAR_user_ocid="ocid1.user.oc1..<unique_ID>"
export TF_VAR_fingerprint="<key_fingerprint>"
export TF_VAR_region="us-ashburn-1"
export TF_VAR_private_key_path="/path/to/oci_api_key.pem"
作業 4:建立 Pulumi 堆疊
為您的 Pulumi 堆疊建立目錄以組織您的專案。使用您偏好的程式設計語言進行初始化。本教學課程使用 Python 堆疊。
-
建立 Pulumi 堆疊目錄。若要為 Pulumi 堆疊建立新目錄,請執行下列指令。
mkdir OCI_Pulumi_Stack && cd OCI_Pulumi_Stack
-
使用 OCI Python 樣板起始 Pulumi 專案專案:
pulumi new oci-python
。 -
輸入專案詳細資訊,例如專案名稱、描述以及堆疊名稱 (例如 dev、staging、prod)。此步驟會啟動設定程序,包括新增必要的相依性,以及將範例程式碼載入
main.py
檔案中。 -
檢查
OCI_Pulumi_Stack
目錄的內容以驗證設定的程式碼。這裡讓您尋找範例程式碼,以及在初始化過程中建立的任何其他檔案。
工作 5:自訂 Pulumi 堆疊
根據您的特定需求自訂堆疊。開啟主要部署檔案 main.py
並新增必要的程式碼,以定義要部署的 OCI 資源。本教學課程將告訴您如何擷取 OCI 租用戶內的可用性網域。
"""A OCI Python Pulumi program"""
import pulumi
import pulumi_oci as oci
test_availability_domains = oci.identity.get_availability_domains(compartment_id="ocid1.tenancy.oc1..xxxxx")
# Output availability domains
pulumi.export("availability_domain_1", test_availability_domains.availability_domains[0].name)
pulumi.export("availability_domain_2", test_availability_domains.availability_domains[1].name)
pulumi.export("availability_domains_3", test_availability_domains.availability_domains[2].name)
此程式碼示範如何從 OCI 租用戶擷取可用性網域,並將其名稱匯出為輸出。當您使用 Pulumi 執行此程式碼時,它會與 OCI 互動以擷取可用性網域並將其名稱顯示為輸出。這可讓您確保程式碼正確地從 OCI 擷取必要資訊。
工作 6:將 Pulumi 程式碼部署至 OCI
執行下列命令,將資源部署至 OCI。
pulumi up
作業 7:檢查命令輸出
部署之後,命令將執行 Pulumi 程式並擷取您 OCI 租用戶內的可用性網域 (如程式碼中所定義)。
相關連結
認可
- 作者 - Akarsha I K (Cloud Architect)、Maninder Flora (Cloud Architect)
其他學習資源
瀏覽 docs.oracle.com/learn 的其他實驗室,或前往 Oracle Learning YouTube 頻道存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Install and Configure Pulumi Infrastructure as Code tool on Oracle Cloud Infrastructure
F98514-01
May 2024